diff --git a/.azurepipelines/ci.yml b/.azurepipelines/ci.yml index 90421ab58b..c9e3127e74 100644 --- a/.azurepipelines/ci.yml +++ b/.azurepipelines/ci.yml @@ -3,7 +3,7 @@ # parameters: buildoption: '' - framework: net6.0 + framework: net8.0 jobnamesuffix: '' agents: '@{}' jobs: diff --git a/.azurepipelines/get-version.ps1 b/.azurepipelines/get-version.ps1 index c775f3d878..054354f3ab 100644 --- a/.azurepipelines/get-version.ps1 +++ b/.azurepipelines/get-version.ps1 @@ -10,7 +10,7 @@ try { # Try install tool # Note: Keep Version 3.6.146, it is known working for 4 digit versioning - & dotnet @("tool", "install", "--tool-path", "./tools", "--version", "3.6.146", "--framework", "net60", "nbgv") 2>&1 + & dotnet @("tool", "install", "--tool-path", "./tools", "--version", "3.6.146", "--framework", "net80", "nbgv") 2>&1 $props = (& ./tools/nbgv @("get-version", "-f", "json")) | ConvertFrom-Json if ($LastExitCode -ne 0) { diff --git a/.azurepipelines/signlistDebug.txt b/.azurepipelines/signlistDebug.txt index 9e75cc3a4c..b50ae3c9ce 100644 --- a/.azurepipelines/signlistDebug.txt +++ b/.azurepipelines/signlistDebug.txt @@ -2,68 +2,57 @@ Stack\Opc.Ua.Core\bin\Debug\netstandard2.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Debug\netstandard2.1\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Debug\net472\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Debug\net48\Opc.Ua.Core.dll -Stack\Opc.Ua.Core\bin\Debug\net6.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Debug\net8.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Debug\net9.0\Opc.Ua.Core.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\netstandard2.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\netstandard2.1\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\net472\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\net48\Opc.Ua.Bindings.Https.dll -Stack\Opc.Ua.Bindings.Https\bin\Debug\net6.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\net8.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Debug\net9.0\Opc.Ua.Bindings.Https.dll Libraries\Opc.Ua.Server\bin\Debug\netstandard2.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Debug\netstandard2.1\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Debug\net472\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Debug\net48\Opc.Ua.Server.dll -Libraries\Opc.Ua.Server\bin\Debug\net6.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Debug\net8.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Debug\net9.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Client\bin\Debug\netstandard2.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Debug\netstandard2.1\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Debug\net472\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Debug\net48\Opc.Ua.Client.dll -Libraries\Opc.Ua.Client\bin\Debug\net6.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Debug\net8.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Debug\net9.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\netstandard2.1\Opc.Ua.Client.ComplexTypes.dll -Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net462\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net472\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net48\Opc.Ua.Client.ComplexTypes.dll -Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net6.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net8.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Debug\net9.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Configuration\bin\Debug\netstandard2.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Debug\netstandard2.1\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Debug\net472\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Debug\net48\Opc.Ua.Configuration.dll -Libraries\Opc.Ua.Configuration\bin\Debug\net6.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Debug\net8.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Debug\net9.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\netstandard2.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\netstandard2.1\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\net472\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\net48\Opc.Ua.Gds.Client.Common.dll -Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\net6.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\net8.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Debug\net9.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\netstandard2.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\netstandard2.1\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\net472\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\net48\Opc.Ua.Gds.Server.Common.dll -Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\net6.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\net8.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Debug\net9.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\netstandard2.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\netstandard2.1\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\net472\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\net48\Opc.Ua.Security.Certificates.dll -Libraries\Opc.Ua.Security.Certificates\bin\Debug\net6.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\net8.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Debug\net9.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.PubSub\bin\Debug\netstandard2.1\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Debug\net472\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Debug\net48\Opc.Ua.PubSub.dll -Libraries\Opc.Ua.PubSub\bin\Debug\net6.0\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Debug\net8.0\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Debug\net9.0\Opc.Ua.PubSub.dll diff --git a/.azurepipelines/signlistRelease.txt b/.azurepipelines/signlistRelease.txt index 2766d26986..b675d9496c 100644 --- a/.azurepipelines/signlistRelease.txt +++ b/.azurepipelines/signlistRelease.txt @@ -2,68 +2,57 @@ Stack\Opc.Ua.Core\bin\Release\netstandard2.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Release\netstandard2.1\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Release\net472\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Release\net48\Opc.Ua.Core.dll -Stack\Opc.Ua.Core\bin\Release\net6.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Release\net8.0\Opc.Ua.Core.dll Stack\Opc.Ua.Core\bin\Release\net9.0\Opc.Ua.Core.dll Stack\Opc.Ua.Bindings.Https\bin\Release\netstandard2.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Release\netstandard2.1\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Release\net472\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Release\net48\Opc.Ua.Bindings.Https.dll -Stack\Opc.Ua.Bindings.Https\bin\Release\net6.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Release\net8.0\Opc.Ua.Bindings.Https.dll Stack\Opc.Ua.Bindings.Https\bin\Release\net9.0\Opc.Ua.Bindings.Https.dll Libraries\Opc.Ua.Server\bin\Release\netstandard2.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Release\netstandard2.1\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Release\net472\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Release\net48\Opc.Ua.Server.dll -Libraries\Opc.Ua.Server\bin\Release\net6.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Release\net8.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Server\bin\Release\net9.0\Opc.Ua.Server.dll Libraries\Opc.Ua.Client\bin\Release\netstandard2.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Release\netstandard2.1\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Release\net472\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Release\net48\Opc.Ua.Client.dll -Libraries\Opc.Ua.Client\bin\Release\net6.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Release\net8.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client\bin\Release\net9.0\Opc.Ua.Client.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\netstandard2.1\Opc.Ua.Client.ComplexTypes.dll -Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net462\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net472\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net48\Opc.Ua.Client.ComplexTypes.dll -Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net6.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net8.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Client.ComplexTypes\bin\Release\net9.0\Opc.Ua.Client.ComplexTypes.dll Libraries\Opc.Ua.Configuration\bin\Release\netstandard2.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Release\netstandard2.1\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Release\net472\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Release\net48\Opc.Ua.Configuration.dll -Libraries\Opc.Ua.Configuration\bin\Release\net6.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Release\net8.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Configuration\bin\Release\net9.0\Opc.Ua.Configuration.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\netstandard2.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\netstandard2.1\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\net472\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\net48\Opc.Ua.Gds.Client.Common.dll -Libraries\Opc.Ua.Gds.Client.Common\bin\Release\net6.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\net8.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Client.Common\bin\Release\net9.0\Opc.Ua.Gds.Client.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\netstandard2.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\netstandard2.1\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\net472\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\net48\Opc.Ua.Gds.Server.Common.dll -Libraries\Opc.Ua.Gds.Server.Common\bin\Release\net6.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\net8.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Gds.Server.Common\bin\Release\net9.0\Opc.Ua.Gds.Server.Common.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\netstandard2.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\netstandard2.1\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\net472\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\net48\Opc.Ua.Security.Certificates.dll -Libraries\Opc.Ua.Security.Certificates\bin\Release\net6.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\net8.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.Security.Certificates\bin\Release\net9.0\Opc.Ua.Security.Certificates.dll Libraries\Opc.Ua.PubSub\bin\Release\netstandard2.1\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Release\net472\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Release\net48\Opc.Ua.PubSub.dll -Libraries\Opc.Ua.PubSub\bin\Release\net6.0\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Release\net8.0\Opc.Ua.PubSub.dll Libraries\Opc.Ua.PubSub\bin\Release\net9.0\Opc.Ua.PubSub.dll diff --git a/.azurepipelines/test.yml b/.azurepipelines/test.yml index 383f3ee07f..0025386ef2 100644 --- a/.azurepipelines/test.yml +++ b/.azurepipelines/test.yml @@ -3,7 +3,7 @@ # parameters: configuration: 'Release' - framework: net6.0 + framework: net8.0 agents: '@{}' jobnamesuffix: '' customtestarget: '' @@ -41,11 +41,11 @@ jobs: vmImage: $(poolImage) steps: - task: UseDotNet@2 - displayName: 'Install .NET 6.0' - condition: eq('${{parameters.framework}}', 'net6.0') + displayName: 'Install .NET 8.0' + condition: eq('${{parameters.framework}}', 'net8.0') inputs: packageType: 'sdk' - version: '6.0.x' + version: '8.0.x' - task: UseDotNet@2 displayName: 'Install .NET 9.0' inputs: diff --git a/.azurepipelines/testcc.yml b/.azurepipelines/testcc.yml index 67d7861e6f..c6b278ea04 100644 --- a/.azurepipelines/testcc.yml +++ b/.azurepipelines/testcc.yml @@ -3,10 +3,10 @@ # parameters: configuration: 'Release' - framework: net6.0 + framework: net8.0 agent: 'linux' poolImage: 'ubuntu-22.04' - jobnamesuffix: 'net60cc' + jobnamesuffix: 'net80cc' customtestarget: '' jobs: - job: testcc${{ parameters.jobnamesuffix }} @@ -24,11 +24,11 @@ jobs: vmImage: ${{ parameters.poolImage }} steps: - task: UseDotNet@2 - displayName: 'Install .NET 6.0' - condition: eq('${{parameters.framework}}', 'net6.0') + displayName: 'Install .NET 8.0' + condition: eq('${{parameters.framework}}', 'net8.0') inputs: packageType: 'sdk' - version: '6.0.x' + version: '8.0.x' - task: UseDotNet@2 displayName: 'Install .NET 9.0' inputs: diff --git a/Applications/ConsoleReferenceClient/ConsoleReferenceClient.csproj b/Applications/ConsoleReferenceClient/ConsoleReferenceClient.csproj index a926650c8b..350fd20b0e 100644 --- a/Applications/ConsoleReferenceClient/ConsoleReferenceClient.csproj +++ b/Applications/ConsoleReferenceClient/ConsoleReferenceClient.csproj @@ -11,25 +11,21 @@ Quickstarts.ConsoleReferenceClient - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/Applications/ConsoleReferencePublisher/ConsoleReferencePublisher.csproj b/Applications/ConsoleReferencePublisher/ConsoleReferencePublisher.csproj index d4ce14e522..3b7ac62bb0 100644 --- a/Applications/ConsoleReferencePublisher/ConsoleReferencePublisher.csproj +++ b/Applications/ConsoleReferencePublisher/ConsoleReferencePublisher.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/Applications/ConsoleReferenceServer/ConsoleReferenceServer.csproj b/Applications/ConsoleReferenceServer/ConsoleReferenceServer.csproj index c28445dfc4..f2bcff9696 100644 --- a/Applications/ConsoleReferenceServer/ConsoleReferenceServer.csproj +++ b/Applications/ConsoleReferenceServer/ConsoleReferenceServer.csproj @@ -29,16 +29,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Applications/ConsoleReferenceSubscriber/ConsoleReferenceSubscriber.csproj b/Applications/ConsoleReferenceSubscriber/ConsoleReferenceSubscriber.csproj index b6908d4800..a5e3d47f0c 100644 --- a/Applications/ConsoleReferenceSubscriber/ConsoleReferenceSubscriber.csproj +++ b/Applications/ConsoleReferenceSubscriber/ConsoleReferenceSubscriber.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000000..f5fd13d294 --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,49 @@ + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Fuzzing/Encoders/Fuzz.Tests/Opc.Ua.Encoders.Fuzz.Tests.csproj b/Fuzzing/Encoders/Fuzz.Tests/Opc.Ua.Encoders.Fuzz.Tests.csproj index 91a7959c31..cbb0d1b6c0 100644 --- a/Fuzzing/Encoders/Fuzz.Tests/Opc.Ua.Encoders.Fuzz.Tests.csproj +++ b/Fuzzing/Encoders/Fuzz.Tests/Opc.Ua.Encoders.Fuzz.Tests.csproj @@ -18,20 +18,20 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + @@ -72,5 +72,4 @@ PreserveNewest - - + \ No newline at end of file diff --git a/Fuzzing/Encoders/Fuzz.Tools/Encoders.Fuzz.Tools.csproj b/Fuzzing/Encoders/Fuzz.Tools/Encoders.Fuzz.Tools.csproj index 61d47c6aa5..5641b016cc 100644 --- a/Fuzzing/Encoders/Fuzz.Tools/Encoders.Fuzz.Tools.csproj +++ b/Fuzzing/Encoders/Fuzz.Tools/Encoders.Fuzz.Tools.csproj @@ -20,15 +20,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/Fuzzing/Encoders/Fuzz/Encoders.Fuzz.csproj b/Fuzzing/Encoders/Fuzz/Encoders.Fuzz.csproj index e9a0f7d8d9..4d6698d9a0 100644 --- a/Fuzzing/Encoders/Fuzz/Encoders.Fuzz.csproj +++ b/Fuzzing/Encoders/Fuzz/Encoders.Fuzz.csproj @@ -17,7 +17,7 @@ - + diff --git a/Libraries/Opc.Ua.Client.ComplexTypes/ComplexTypeSystem.cs b/Libraries/Opc.Ua.Client.ComplexTypes/ComplexTypeSystem.cs index 83d2070db5..0ad2cc30f6 100644 --- a/Libraries/Opc.Ua.Client.ComplexTypes/ComplexTypeSystem.cs +++ b/Libraries/Opc.Ua.Client.ComplexTypes/ComplexTypeSystem.cs @@ -899,7 +899,7 @@ private async Task AddEnumTypesAsync( if (item is Schema.Binary.EnumeratedType enumeratedObject) { // 1. use Dictionary entry - var enumDefinition = enumeratedObject.ToEnumDefinition(); + var enumDefinition = enumeratedObject.ToEnumDefinition(enumeratedObject.Name); // Add EnumDefinition to cache m_dataTypeDefinitionCache[enumType.NodeId] = enumDefinition; @@ -971,12 +971,12 @@ private async Task AddEnumTypeAsync( if (enumTypeArray is ExtensionObject[] extensionObject) { // 2. use EnumValues - enumDefinition = extensionObject.ToEnumDefinition(); + enumDefinition = extensionObject.ToEnumDefinition(name.Name); } else if (enumTypeArray is LocalizedText[] localizedText) { // 3. use EnumStrings - enumDefinition = localizedText.ToEnumDefinition(); + enumDefinition = localizedText.ToEnumDefinition(name.Name); } else { diff --git a/Libraries/Opc.Ua.Client.ComplexTypes/DataTypeDefinitionExtension.cs b/Libraries/Opc.Ua.Client.ComplexTypes/DataTypeDefinitionExtension.cs index 3807406467..38db6e8210 100644 --- a/Libraries/Opc.Ua.Client.ComplexTypes/DataTypeDefinitionExtension.cs +++ b/Libraries/Opc.Ua.Client.ComplexTypes/DataTypeDefinitionExtension.cs @@ -237,20 +237,33 @@ public static StructureDefinition ToStructureDefinition( /// Convert a binary schema enumerated type to an enum data type definition /// Available before OPC UA V1.04. /// - public static EnumDefinition ToEnumDefinition(this Schema.Binary.EnumeratedType enumeratedType) + public static EnumDefinition ToEnumDefinition(this Schema.Binary.EnumeratedType enumeratedType, string enumTypeName) { var enumDefinition = new EnumDefinition(); - foreach (var enumValue in enumeratedType.EnumeratedValue) + if (enumeratedType.EnumeratedValue != null) { - var enumTypeField = new EnumField + foreach (var enumValue in enumeratedType.EnumeratedValue) { - Name = enumValue.Name, - Value = enumValue.Value, - Description = enumValue.Documentation?.Text?.FirstOrDefault(), - DisplayName = enumValue.Name - }; - enumDefinition.Fields.Add(enumTypeField); + var fieldName = enumValue.Name; + if (string.IsNullOrEmpty(fieldName)) + { + if (string.IsNullOrEmpty(enumTypeName)) + { + // Here we give up because the overall type is broken + return null; + } + fieldName = $"{enumTypeName}_{enumValue.Value}"; + } + + var enumTypeField = new EnumField { + Name = fieldName, + Value = enumValue.Value, + Description = enumValue.Documentation?.Text?.FirstOrDefault(), + DisplayName = enumValue.Name + }; + enumDefinition.Fields.Add(enumTypeField); + } } return enumDefinition; @@ -260,14 +273,30 @@ public static EnumDefinition ToEnumDefinition(this Schema.Binary.EnumeratedType /// Convert a list of EnumValues to an enum data type definition /// Available before OPC UA V1.04. /// - public static EnumDefinition ToEnumDefinition(this ExtensionObject[] enumValueTypes) + public static EnumDefinition ToEnumDefinition(this ExtensionObject[] enumValueTypes, string enumTypeName) { var enumDefinition = new EnumDefinition(); foreach (var extensionObject in enumValueTypes) { - var enumValue = extensionObject.Body as EnumValueType; + if (extensionObject.Body is not EnumValueType enumValue) + { + // All we can do here is skip this value. Since there is no + // fallback it is better to include all other type fields if + // they are in the extension object array. + continue; + } + var name = enumValue.DisplayName.Text; + if (string.IsNullOrEmpty(name)) + { + if (string.IsNullOrEmpty(enumTypeName)) + { + // Here we give up because the overall type is broken + return null; + } + name = $"{enumTypeName}_{enumValue.Value}"; + } var enumTypeField = new EnumField { Name = name, @@ -284,7 +313,7 @@ public static EnumDefinition ToEnumDefinition(this ExtensionObject[] enumValueTy /// Convert a list of EnumValues to an enum data type definition /// Available before OPC UA V1.04. /// - public static EnumDefinition ToEnumDefinition(this LocalizedText[] enumFieldNames) + public static EnumDefinition ToEnumDefinition(this LocalizedText[] enumFieldNames, string enumTypeName) { var enumDefinition = new EnumDefinition(); @@ -293,6 +322,16 @@ public static EnumDefinition ToEnumDefinition(this LocalizedText[] enumFieldName LocalizedText enumFieldName = enumFieldNames[ii]; var name = enumFieldName.Text; + if (string.IsNullOrEmpty(name)) + { + if (string.IsNullOrEmpty(enumTypeName)) + { + // Here we give up because the overall type is broken + return null; + } + name = $"{enumTypeName}_{ii}"; + } + var enumTypeField = new EnumField { Name = name, Value = ii, diff --git a/Libraries/Opc.Ua.Client.ComplexTypes/TypeBuilder/ComplexTypeBuilder.cs b/Libraries/Opc.Ua.Client.ComplexTypes/TypeBuilder/ComplexTypeBuilder.cs index 455132113e..6ee3cf93d5 100644 --- a/Libraries/Opc.Ua.Client.ComplexTypes/TypeBuilder/ComplexTypeBuilder.cs +++ b/Libraries/Opc.Ua.Client.ComplexTypes/TypeBuilder/ComplexTypeBuilder.cs @@ -28,6 +28,7 @@ * ======================================================================*/ using System; +using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Reflection.Emit; @@ -79,16 +80,42 @@ public Type AddEnumType(QualifiedName typeName, EnumDefinition enumDefinition) { throw new ArgumentNullException(nameof(enumDefinition)); } + if (typeName == null) + { + throw new ArgumentNullException(nameof(typeName)); + } + + if (string.IsNullOrEmpty(typeName.Name)) + { + // The type name should not be null or empty then the type definition + // or xml is broken. For the latter we want to go into the fallback path + // And try to read the data type definition's enum definition. + return null; + } var enumBuilder = m_moduleBuilder.DefineEnum( GetFullQualifiedTypeName(typeName), TypeAttributes.Public, typeof(int)); enumBuilder.DataContractAttribute(m_targetNamespace); - foreach (var enumValue in enumDefinition.Fields) + if (enumDefinition.Fields != null) { - var newEnum = enumBuilder.DefineLiteral(enumValue.Name, (int)enumValue.Value); - newEnum.EnumMemberAttribute(enumValue.Name, (int)enumValue.Value); + var fieldNames = new HashSet(); + foreach (EnumField enumValue in enumDefinition.Fields) + { + // Create a field from the type name and ensure it is not a duplicate + var fieldName = enumValue.Name; + if (string.IsNullOrEmpty(fieldName)) + { + // This is to be super safe, but we should never get here. + fieldName = $"{typeName.Name}_{enumValue.Value}"; + } + if (fieldNames.Add(fieldName)) + { + var newEnum = enumBuilder.DefineLiteral(fieldName, (int)enumValue.Value); + newEnum.EnumMemberAttribute(fieldName, (int)enumValue.Value); + } + } } return enumBuilder.CreateTypeInfo(); } diff --git a/Libraries/Opc.Ua.Client/Session/ISession.cs b/Libraries/Opc.Ua.Client/Session/ISession.cs index c784468488..cd69eb4d5e 100644 --- a/Libraries/Opc.Ua.Client/Session/ISession.cs +++ b/Libraries/Opc.Ua.Client/Session/ISession.cs @@ -241,7 +241,7 @@ public interface ISession : ISessionClient /// Returns true if the session is not receiving keep alives. /// /// - /// Set to true if the server does not respond for 2 times the KeepAliveInterval. + /// Set to true if the server does not respond for the KeepAliveInterval times a configurable factor + a configurable guard band. /// Set to false is communication recovers. /// bool KeepAliveStopped { get; } diff --git a/Libraries/Opc.Ua.Client/Session/Session.cs b/Libraries/Opc.Ua.Client/Session/Session.cs index 1fcd5ebcae..e2fe359a5f 100644 --- a/Libraries/Opc.Ua.Client/Session/Session.cs +++ b/Libraries/Opc.Ua.Client/Session/Session.cs @@ -58,7 +58,6 @@ public partial class Session : SessionClientBatched, ISession private const int kMinPublishRequestCountMax = 100; private const int kMaxPublishRequestCountMax = ushort.MaxValue; private const int kDefaultPublishRequestCount = 1; - private const int kKeepAliveGuardBand = 1000; private const int kPublishRequestSequenceNumberOutOfOrderThreshold = 10; private const int kPublishRequestSequenceNumberOutdatedThreshold = 100; @@ -705,7 +704,8 @@ public int KeepAliveInterval /// Returns true if the session is not receiving keep alives. /// /// - /// Set to true if the server does not respond for 2 times the KeepAliveInterval + /// Set to true if the server does not respond for the KeepAliveInterval * 1 (KeepAliveIntervalFactor) + 1 Second (KeepAliveGuardBand) * + /// To change the sensitivity of the keep alive check, set the / fields. /// or if another error was reported. /// Set to false is communication is ok or recovered. /// @@ -719,7 +719,7 @@ public bool KeepAliveStopped int delta = HiResClock.TickCount - m_lastKeepAliveTickCount; // add a guard band to allow for network lag. - return (m_keepAliveInterval + kKeepAliveGuardBand) <= delta; + return (m_keepAliveInterval * m_keepAliveIntervalFactor + m_keepAliveGuardBand) <= delta; } // another error was reported which caused keep alive to stop. @@ -6648,6 +6648,16 @@ protected virtual void ProcessResponseAdditionalHeader(ResponseHeader responseHe /// The user identity currently used for the session. /// protected IUserIdentity m_identity; + + /// + /// Factor applied to the before is set to true + /// + protected int m_keepAliveIntervalFactor = 1; + + /// + /// Time in milliseconds added to before is set to true + /// + protected int m_keepAliveGuardBand = 1000; #endregion #region Private Fields diff --git a/Libraries/Opc.Ua.Client/Subscription/Subscription.cs b/Libraries/Opc.Ua.Client/Subscription/Subscription.cs index 109b8f8a39..140e3268c4 100644 --- a/Libraries/Opc.Ua.Client/Subscription/Subscription.cs +++ b/Libraries/Opc.Ua.Client/Subscription/Subscription.cs @@ -811,7 +811,7 @@ public void Create() revisedLifetimeCounter, revisedKeepAliveCount, m_maxNotificationsPerPublish, - m_publishingEnabled, + false, m_priority, out subscriptionId, out revisedPublishingInterval, @@ -822,6 +822,12 @@ public void Create() CreateItems(); + // only enable publishing afer CreateSubscription is called to avoid race conditions with subscription cleanup. + if (m_publishingEnabled) + { + SetPublishingMode(m_publishingEnabled); + } + ChangesCompleted(); TraceState("CREATED"); diff --git a/Libraries/Opc.Ua.Client/Subscription/SubscriptionAsync.cs b/Libraries/Opc.Ua.Client/Subscription/SubscriptionAsync.cs index c8381e34f2..5128f081b0 100644 --- a/Libraries/Opc.Ua.Client/Subscription/SubscriptionAsync.cs +++ b/Libraries/Opc.Ua.Client/Subscription/SubscriptionAsync.cs @@ -62,7 +62,7 @@ public async Task CreateAsync(CancellationToken ct = default) revisedLifetimeCount, revisedMaxKeepAliveCount, m_maxNotificationsPerPublish, - m_publishingEnabled, + false, m_priority, ct).ConfigureAwait(false); @@ -74,6 +74,13 @@ public async Task CreateAsync(CancellationToken ct = default) await CreateItemsAsync(ct).ConfigureAwait(false); + + // only enable publishing afer CreateSubscription is called to avoid race conditions with subscription cleanup. + if (m_publishingEnabled) + { + await SetPublishingModeAsync(m_publishingEnabled, ct).ConfigureAwait(false); + } + ChangesCompleted(); } diff --git a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.Classes.cs b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.Classes.cs index 5d70ec979f..a28613f563 100644 --- a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.Classes.cs +++ b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.Classes.cs @@ -33,6 +33,8 @@ using System.Xml; using System.Linq; using System.Runtime.Serialization; +using System.Threading.Tasks; +using System.Threading; using Opc.Ua; namespace Opc.Ua.Gds @@ -86,6 +88,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public FindApplicationsMethodStateMethodCallHandler OnCall; + + /// + public FindApplicationsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -99,6 +104,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -124,6 +134,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + FindApplicationsMethodStateResult _result = null; + + string applicationUri = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Applications; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -138,6 +187,26 @@ public delegate ServiceResult FindApplicationsMethodStateMethodCallHandler( NodeId _objectId, string applicationUri, ref ApplicationRecordDataType[] applications); + + /// + /// + public partial class FindApplicationsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ApplicationRecordDataType[] Applications { get; set; } + } + + + /// + /// + public delegate ValueTask FindApplicationsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string applicationUri, + CancellationToken cancellationToken); #endif #endregion @@ -190,6 +259,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RegisterApplicationMethodStateMethodCallHandler OnCall; + + /// + public RegisterApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -203,6 +275,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -228,6 +305,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RegisterApplicationMethodStateResult _result = null; + + ApplicationRecordDataType application = (ApplicationRecordDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + application, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ApplicationId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -242,6 +358,26 @@ public delegate ServiceResult RegisterApplicationMethodStateMethodCallHandler( NodeId _objectId, ApplicationRecordDataType application, ref NodeId applicationId); + + /// + /// + public partial class RegisterApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId ApplicationId { get; set; } + } + + + /// + /// + public delegate ValueTask RegisterApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ApplicationRecordDataType application, + CancellationToken cancellationToken); #endif #endregion @@ -292,6 +428,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public UpdateApplicationMethodStateMethodCallHandler OnCall; + + /// + public UpdateApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -305,6 +444,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -325,6 +469,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + UpdateApplicationMethodStateResult _result = null; + + ApplicationRecordDataType application = (ApplicationRecordDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + application, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -338,6 +519,24 @@ public delegate ServiceResult UpdateApplicationMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, ApplicationRecordDataType application); + + /// + /// + public partial class UpdateApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask UpdateApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ApplicationRecordDataType application, + CancellationToken cancellationToken); #endif #endregion @@ -388,6 +587,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public UnregisterApplicationMethodStateMethodCallHandler OnCall; + + /// + public UnregisterApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -401,6 +603,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -421,6 +628,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + UnregisterApplicationMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -434,6 +678,24 @@ public delegate ServiceResult UnregisterApplicationMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId applicationId); + + /// + /// + public partial class UnregisterApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask UnregisterApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + CancellationToken cancellationToken); #endif #endregion @@ -486,6 +748,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetApplicationMethodStateMethodCallHandler OnCall; + + /// + public GetApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -499,6 +764,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -524,6 +794,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetApplicationMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Application; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -538,6 +847,26 @@ public delegate ServiceResult GetApplicationMethodStateMethodCallHandler( NodeId _objectId, NodeId applicationId, ref ApplicationRecordDataType application); + + /// + /// + public partial class GetApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ApplicationRecordDataType Application { get; set; } + } + + + /// + /// + public delegate ValueTask GetApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + CancellationToken cancellationToken); #endif #endregion @@ -595,6 +924,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public QueryApplicationsMethodStateMethodCallHandler OnCall; + + /// + public QueryApplicationsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -608,6 +940,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -651,6 +988,59 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + QueryApplicationsMethodStateResult _result = null; + + uint startingRecordId = (uint)_inputArguments[0]; + uint maxRecordsToReturn = (uint)_inputArguments[1]; + string applicationName = (string)_inputArguments[2]; + string applicationUri = (string)_inputArguments[3]; + uint applicationType = (uint)_inputArguments[4]; + string productUri = (string)_inputArguments[5]; + string[] capabilities = (string[])_inputArguments[6]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + startingRecordId, + maxRecordsToReturn, + applicationName, + applicationUri, + applicationType, + productUri, + capabilities, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.LastCounterResetTime; + _outputArguments[1] = _result.NextRecordId; + _outputArguments[2] = _result.Applications; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -673,6 +1063,36 @@ public delegate ServiceResult QueryApplicationsMethodStateMethodCallHandler( ref DateTime lastCounterResetTime, ref uint nextRecordId, ref Opc.Ua.ApplicationDescription[] applications); + + /// + /// + public partial class QueryApplicationsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public DateTime LastCounterResetTime { get; set; } + /// + public uint NextRecordId { get; set; } + /// + public Opc.Ua.ApplicationDescription[] Applications { get; set; } + } + + + /// + /// + public delegate ValueTask QueryApplicationsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint startingRecordId, + uint maxRecordsToReturn, + string applicationName, + string applicationUri, + uint applicationType, + string productUri, + string[] capabilities, + CancellationToken cancellationToken); #endif #endregion @@ -729,6 +1149,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public QueryServersMethodStateMethodCallHandler OnCall; + + /// + public QueryServersMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -742,6 +1165,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -780,6 +1208,56 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + QueryServersMethodStateResult _result = null; + + uint startingRecordId = (uint)_inputArguments[0]; + uint maxRecordsToReturn = (uint)_inputArguments[1]; + string applicationName = (string)_inputArguments[2]; + string applicationUri = (string)_inputArguments[3]; + string productUri = (string)_inputArguments[4]; + string[] serverCapabilities = (string[])_inputArguments[5]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + startingRecordId, + maxRecordsToReturn, + applicationName, + applicationUri, + productUri, + serverCapabilities, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.LastCounterResetTime; + _outputArguments[1] = _result.Servers; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -788,7 +1266,35 @@ protected override ServiceResult Call( /// /// - public delegate ServiceResult QueryServersMethodStateMethodCallHandler( + public delegate ServiceResult QueryServersMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint startingRecordId, + uint maxRecordsToReturn, + string applicationName, + string applicationUri, + string productUri, + string[] serverCapabilities, + ref DateTime lastCounterResetTime, + ref Opc.Ua.ServerOnNetwork[] servers); + + /// + /// + public partial class QueryServersMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public DateTime LastCounterResetTime { get; set; } + /// + public Opc.Ua.ServerOnNetwork[] Servers { get; set; } + } + + + /// + /// + public delegate ValueTask QueryServersMethodStateMethodAsyncCallHandler( ISystemContext _context, MethodState _method, NodeId _objectId, @@ -798,8 +1304,7 @@ public delegate ServiceResult QueryServersMethodStateMethodCallHandler( string applicationUri, string productUri, string[] serverCapabilities, - ref DateTime lastCounterResetTime, - ref Opc.Ua.ServerOnNetwork[] servers); + CancellationToken cancellationToken); #endif #endregion @@ -853,40 +1358,40 @@ protected override void InitializeOptionalChildren(ISystemContext context) "AQAAAAEAKgEBHQAAAA4AAABBcHBsaWNhdGlvblVyaQAM/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB" + "/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBEQAALgBEEQAAAJYBAAAAAQAqAQEh" + "AAAADAAAAEFwcGxpY2F0aW9ucwEBAQABAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAA" + - "AAAEYYIKBAAAAAEAEwAAAFJlZ2lzdGVyQXBwbGljYXRpb24BARIAAC8BARIAEgAAAAEB/////wIAAAAX" + - "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQETAAAuAEQTAAAAlgEAAAABACoBARwAAAALAAAAQXBw" + - "bGljYXRpb24BAQEA/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAA" + - "AE91dHB1dEFyZ3VtZW50cwEBFAAALgBEFAAAAJYBAAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0aW9uSWQA" + - "Ef////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAABABEAAABVcGRhdGVBcHBs" + - "aWNhdGlvbgEBvAAALwEBvAC8AAAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMB" + - "Ab0AAC4ARL0AAACWAQAAAAEAKgEBHAAAAAsAAABBcHBsaWNhdGlvbgEBAQD/////AAAAAAABACgBAQAA" + - "AAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAQAVAAAAVW5yZWdpc3RlckFwcGxpY2F0aW9uAQEVAAAv" + - "AQEVABUAAAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBFgAALgBEFgAAAJYB" + - "AAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf//" + - "//8AAAAABGGCCgQAAAABAA4AAABHZXRBcHBsaWNhdGlvbgEB0gAALwEB0gDSAAAAAQH/////AgAAABdg" + - "qQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAdMAAC4ARNMAAACWAQAAAAEAKgEBHAAAAA0AAABBcHBs" + - "aWNhdGlvbklkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAA" + - "T3V0cHV0QXJndW1lbnRzAQHUAAAuAETUAAAAlgEAAAABACoBARwAAAALAAAAQXBwbGljYXRpb24BAQEA" + - "/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEAEQAAAFF1ZXJ5QXBwbGlj" + - "YXRpb25zAQFkAwAvAQFkA2QDAAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEB" + - "ZQMALgBEZQMAAJYHAAAAAQAqAQEfAAAAEAAAAFN0YXJ0aW5nUmVjb3JkSWQAB/////8AAAAAAAEAKgEB" + - "IQAAABIAAABNYXhSZWNvcmRzVG9SZXR1cm4AB/////8AAAAAAAEAKgEBHgAAAA8AAABBcHBsaWNhdGlv" + - "bk5hbWUADP////8AAAAAAAEAKgEBHQAAAA4AAABBcHBsaWNhdGlvblVyaQAM/////wAAAAAAAQAqAQEe" + - "AAAADwAAAEFwcGxpY2F0aW9uVHlwZQAH/////wAAAAAAAQAqAQEZAAAACgAAAFByb2R1Y3RVcmkADP//" + - "//8AAAAAAAEAKgEBHwAAAAwAAABDYXBhYmlsaXRpZXMADAEAAAABAAAAAAAAAAABACgBAQAAAAEAAAAH" + - "AAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQFmAwAuAERmAwAAlgMAAAAB" + - "ACoBASUAAAAUAAAATGFzdENvdW50ZXJSZXNldFRpbWUBACYB/////wAAAAAAAQAqAQEbAAAADAAAAE5l" + - "eHRSZWNvcmRJZAAH/////wAAAAAAAQAqAQEhAAAADAAAAEFwcGxpY2F0aW9ucwEANAEBAAAAAQAAAAAA" + - "AAAAAQAoAQEAAAABAAAAAwAAAAEB/////wAAAAAEYYIKBAAAAAEADAAAAFF1ZXJ5U2VydmVycwEBFwAA" + - "LwEBFwAXAAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBARgAAC4ARBgAAACW" + - "BgAAAAEAKgEBHwAAABAAAABTdGFydGluZ1JlY29yZElkAAf/////AAAAAAABACoBASEAAAASAAAATWF4" + - "UmVjb3Jkc1RvUmV0dXJuAAf/////AAAAAAABACoBAR4AAAAPAAAAQXBwbGljYXRpb25OYW1lAAz/////" + - "AAAAAAABACoBAR0AAAAOAAAAQXBwbGljYXRpb25VcmkADP////8AAAAAAAEAKgEBGQAAAAoAAABQcm9k" + - "dWN0VXJpAAz/////AAAAAAABACoBASUAAAASAAAAU2VydmVyQ2FwYWJpbGl0aWVzAAwBAAAAAQAAAAAA" + - "AAAAAQAoAQEAAAABAAAABgAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEB" + - "GQAALgBEGQAAAJYCAAAAAQAqAQElAAAAFAAAAExhc3RDb3VudGVyUmVzZXRUaW1lAQAmAf////8AAAAA" + - "AAEAKgEBHAAAAAcAAABTZXJ2ZXJzAQCdLwEAAAABAAAAAAAAAAABACgBAQAAAAEAAAACAAAAAQH/////" + - "AAAAAA=="; + "AAAEYYIKBAAAAAEAEwAAAFJlZ2lzdGVyQXBwbGljYXRpb24BARIAAC8BARIAEgAAAAEBAQAAAAApAAEB" + + "GgACAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBEwAALgBEEwAAAJYBAAAAAQAqAQEcAAAA" + + "CwAAAEFwcGxpY2F0aW9uAQEBAP////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIA" + + "AAAAAA8AAABPdXRwdXRBcmd1bWVudHMBARQAAC4ARBQAAACWAQAAAAEAKgEBHAAAAA0AAABBcHBsaWNh" + + "dGlvbklkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAQARAAAAVXBk" + + "YXRlQXBwbGljYXRpb24BAbwAAC8BAbwAvAAAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJn" + + "dW1lbnRzAQG9AAAuAES9AAAAlgEAAAABACoBARwAAAALAAAAQXBwbGljYXRpb24BAQEA/////wAAAAAA" + + "AQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEAFQAAAFVucmVnaXN0ZXJBcHBsaWNhdGlv" + + "bgEBFQAALwEBFQAVAAAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBARYAAC4A" + + "RBYAAACWAQAAAAEAKgEBHAAAAA0AAABBcHBsaWNhdGlvbklkABH/////AAAAAAABACgBAQAAAAEAAAAB" + + "AAAAAQH/////AAAAAARhggoEAAAAAQAOAAAAR2V0QXBwbGljYXRpb24BAdIAAC8BAdIA0gAAAAEB////" + + "/wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQHTAAAuAETTAAAAlgEAAAABACoBARwAAAAN" + + "AAAAQXBwbGljYXRpb25JZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAA" + + "AAAADwAAAE91dHB1dEFyZ3VtZW50cwEB1AAALgBE1AAAAJYBAAAAAQAqAQEcAAAACwAAAEFwcGxpY2F0" + + "aW9uAQEBAP////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAABABEAAABRdWVy" + + "eUFwcGxpY2F0aW9ucwEBZAMALwEBZANkAwAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1" + + "bWVudHMBAWUDAC4ARGUDAACWBwAAAAEAKgEBHwAAABAAAABTdGFydGluZ1JlY29yZElkAAf/////AAAA" + + "AAABACoBASEAAAASAAAATWF4UmVjb3Jkc1RvUmV0dXJuAAf/////AAAAAAABACoBAR4AAAAPAAAAQXBw" + + "bGljYXRpb25OYW1lAAz/////AAAAAAABACoBAR0AAAAOAAAAQXBwbGljYXRpb25VcmkADP////8AAAAA" + + "AAEAKgEBHgAAAA8AAABBcHBsaWNhdGlvblR5cGUAB/////8AAAAAAAEAKgEBGQAAAAoAAABQcm9kdWN0" + + "VXJpAAz/////AAAAAAABACoBAR8AAAAMAAAAQ2FwYWJpbGl0aWVzAAwBAAAAAQAAAAAAAAAAAQAoAQEA" + + "AAABAAAABwAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBZgMALgBEZgMA" + + "AJYDAAAAAQAqAQElAAAAFAAAAExhc3RDb3VudGVyUmVzZXRUaW1lAQAmAf////8AAAAAAAEAKgEBGwAA" + + "AAwAAABOZXh0UmVjb3JkSWQAB/////8AAAAAAAEAKgEBIQAAAAwAAABBcHBsaWNhdGlvbnMBADQBAQAA" + + "AAEAAAAAAAAAAAEAKAEBAAAAAQAAAAMAAAABAf////8AAAAABGGCCgQAAAABAAwAAABRdWVyeVNlcnZl" + + "cnMBARcAAC8BARcAFwAAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQEYAAAu" + + "AEQYAAAAlgYAAAABACoBAR8AAAAQAAAAU3RhcnRpbmdSZWNvcmRJZAAH/////wAAAAAAAQAqAQEhAAAA" + + "EgAAAE1heFJlY29yZHNUb1JldHVybgAH/////wAAAAAAAQAqAQEeAAAADwAAAEFwcGxpY2F0aW9uTmFt" + + "ZQAM/////wAAAAAAAQAqAQEdAAAADgAAAEFwcGxpY2F0aW9uVXJpAAz/////AAAAAAABACoBARkAAAAK" + + "AAAAUHJvZHVjdFVyaQAM/////wAAAAAAAQAqAQElAAAAEgAAAFNlcnZlckNhcGFiaWxpdGllcwAMAQAA" + + "AAEAAAAAAAAAAAEAKAEBAAAAAQAAAAYAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1" + + "bWVudHMBARkAAC4ARBkAAACWAgAAAAEAKgEBJQAAABQAAABMYXN0Q291bnRlclJlc2V0VGltZQEAJgH/" + + "////AAAAAAABACoBARwAAAAHAAAAU2VydmVycwEAnS8BAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAgAA" + + "AAEB/////wAAAAA="; #endregion #endif #endregion @@ -1429,6 +1934,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public StartSigningRequestMethodStateMethodCallHandler OnCall; + + /// + public StartSigningRequestMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -1442,6 +1950,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -1473,6 +1986,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + StartSigningRequestMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId certificateGroupId = (NodeId)_inputArguments[1]; + NodeId certificateTypeId = (NodeId)_inputArguments[2]; + byte[] certificateRequest = (byte[])_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificateGroupId, + certificateTypeId, + certificateRequest, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RequestId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -1490,6 +2048,29 @@ public delegate ServiceResult StartSigningRequestMethodStateMethodCallHandler( NodeId certificateTypeId, byte[] certificateRequest, ref NodeId requestId); + + /// + /// + public partial class StartSigningRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId RequestId { get; set; } + } + + + /// + /// + public delegate ValueTask StartSigningRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId certificateGroupId, + NodeId certificateTypeId, + byte[] certificateRequest, + CancellationToken cancellationToken); #endif #endregion @@ -1546,6 +2127,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public StartNewKeyPairRequestMethodStateMethodCallHandler OnCall; + + /// + public StartNewKeyPairRequestMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -1559,6 +2143,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -1596,6 +2185,57 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + StartNewKeyPairRequestMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId certificateGroupId = (NodeId)_inputArguments[1]; + NodeId certificateTypeId = (NodeId)_inputArguments[2]; + string subjectName = (string)_inputArguments[3]; + string[] domainNames = (string[])_inputArguments[4]; + string privateKeyFormat = (string)_inputArguments[5]; + string privateKeyPassword = (string)_inputArguments[6]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificateGroupId, + certificateTypeId, + subjectName, + domainNames, + privateKeyFormat, + privateKeyPassword, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RequestId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -1616,6 +2256,32 @@ public delegate ServiceResult StartNewKeyPairRequestMethodStateMethodCallHandler string privateKeyFormat, string privateKeyPassword, ref NodeId requestId); + + /// + /// + public partial class StartNewKeyPairRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId RequestId { get; set; } + } + + + /// + /// + public delegate ValueTask StartNewKeyPairRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId certificateGroupId, + NodeId certificateTypeId, + string subjectName, + string[] domainNames, + string privateKeyFormat, + string privateKeyPassword, + CancellationToken cancellationToken); #endif #endregion @@ -1670,6 +2336,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public FinishRequestMethodStateMethodCallHandler OnCall; + + /// + public FinishRequestMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -1683,6 +2352,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -1716,6 +2390,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + FinishRequestMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId requestId = (NodeId)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + requestId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Certificate; + _outputArguments[1] = _result.PrivateKey; + _outputArguments[2] = _result.IssuerCertificates; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -1733,6 +2450,31 @@ public delegate ServiceResult FinishRequestMethodStateMethodCallHandler( ref byte[] certificate, ref byte[] privateKey, ref byte[][] issuerCertificates); + + /// + /// + public partial class FinishRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] Certificate { get; set; } + /// + public byte[] PrivateKey { get; set; } + /// + public byte[][] IssuerCertificates { get; set; } + } + + + /// + /// + public delegate ValueTask FinishRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId requestId, + CancellationToken cancellationToken); #endif #endregion @@ -1785,6 +2527,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetCertificateGroupsMethodStateMethodCallHandler OnCall; + + /// + public GetCertificateGroupsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -1798,6 +2543,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -1823,6 +2573,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetCertificateGroupsMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CertificateGroupIds; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -1837,6 +2626,26 @@ public delegate ServiceResult GetCertificateGroupsMethodStateMethodCallHandler( NodeId _objectId, NodeId applicationId, ref NodeId[] certificateGroupIds); + + /// + /// + public partial class GetCertificateGroupsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId[] CertificateGroupIds { get; set; } + } + + + /// + /// + public delegate ValueTask GetCertificateGroupsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + CancellationToken cancellationToken); #endif #endregion @@ -1890,6 +2699,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetTrustListMethodStateMethodCallHandler OnCall; + + /// + public GetTrustListMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -1903,6 +2715,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -1930,21 +2747,83 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetTrustListMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId certificateGroupId = (NodeId)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificateGroupId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.TrustListId; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields #endregion + } + + /// + /// + public delegate ServiceResult GetTrustListMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId certificateGroupId, + ref NodeId trustListId); - #region Private Fields - #endregion + /// + /// + public partial class GetTrustListMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId TrustListId { get; set; } } + /// /// - public delegate ServiceResult GetTrustListMethodStateMethodCallHandler( + public delegate ValueTask GetTrustListMethodStateMethodAsyncCallHandler( ISystemContext _context, MethodState _method, NodeId _objectId, NodeId applicationId, NodeId certificateGroupId, - ref NodeId trustListId); + CancellationToken cancellationToken); #endif #endregion @@ -1996,6 +2875,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RevokeCertificateMethodStateMethodCallHandler OnCall; + + /// + public RevokeCertificateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -2009,6 +2891,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -2031,6 +2918,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RevokeCertificateMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + byte[] certificate = (byte[])_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificate, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -2045,6 +2971,25 @@ public delegate ServiceResult RevokeCertificateMethodStateMethodCallHandler( NodeId _objectId, NodeId applicationId, byte[] certificate); + + /// + /// + public partial class RevokeCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RevokeCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + byte[] certificate, + CancellationToken cancellationToken); #endif #endregion @@ -2098,6 +3043,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetCertificateStatusMethodStateMethodCallHandler OnCall; + + /// + public GetCertificateStatusMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -2111,6 +3059,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -2140,6 +3093,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetCertificateStatusMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId certificateGroupId = (NodeId)_inputArguments[1]; + NodeId certificateTypeId = (NodeId)_inputArguments[2]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificateGroupId, + certificateTypeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.UpdateRequired; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -2156,6 +3152,28 @@ public delegate ServiceResult GetCertificateStatusMethodStateMethodCallHandler( NodeId certificateGroupId, NodeId certificateTypeId, ref bool updateRequired); + + /// + /// + public partial class GetCertificateStatusMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public bool UpdateRequired { get; set; } + } + + + /// + /// + public delegate ValueTask GetCertificateStatusMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId certificateGroupId, + NodeId certificateTypeId, + CancellationToken cancellationToken); #endif #endregion @@ -2209,6 +3227,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetCertificatesMethodStateMethodCallHandler OnCall; + + /// + public GetCertificatesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -2222,6 +3243,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -2252,6 +3278,48 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetCertificatesMethodStateResult _result = null; + + NodeId applicationId = (NodeId)_inputArguments[0]; + NodeId certificateGroupId = (NodeId)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationId, + certificateGroupId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CertificateTypeIds; + _outputArguments[1] = _result.Certificates; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -2268,6 +3336,29 @@ public delegate ServiceResult GetCertificatesMethodStateMethodCallHandler( NodeId certificateGroupId, ref NodeId[] certificateTypeIds, ref byte[][] certificates); + + /// + /// + public partial class GetCertificatesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId[] CertificateTypeIds { get; set; } + /// + public byte[][] Certificates { get; set; } + } + + + /// + /// + public delegate ValueTask GetCertificatesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId applicationId, + NodeId certificateGroupId, + CancellationToken cancellationToken); #endif #endregion @@ -2321,6 +3412,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CheckRevocationStatusMethodStateMethodCallHandler OnCall; + + /// + public CheckRevocationStatusMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -2334,6 +3428,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -2362,6 +3461,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CheckRevocationStatusMethodStateResult _result = null; + + byte[] certificate = (byte[])_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificate, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CertificateStatus; + _outputArguments[1] = _result.ValidityTime; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -2377,6 +3516,28 @@ public delegate ServiceResult CheckRevocationStatusMethodStateMethodCallHandler( byte[] certificate, ref StatusCode certificateStatus, ref DateTime validityTime); + + /// + /// + public partial class CheckRevocationStatusMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode CertificateStatus { get; set; } + /// + public DateTime ValidityTime { get; set; } + } + + + /// + /// + public delegate ValueTask CheckRevocationStatusMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + byte[] certificate, + CancellationToken cancellationToken); #endif #endregion @@ -2470,137 +3631,137 @@ protected override void InitializeOptionalChildren(ISystemContext context) "AAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgEA" + "WkIPAAAuAERaQg8AlgEAAAABACoBASEAAAAMAAAAQXBwbGljYXRpb25zAQEBAAEAAAABAAAAAAAAAAAB" + "ACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAQATAAAAUmVnaXN0ZXJBcHBsaWNhdGlvbgIB" + - "AFtCDwAALwEBEgBbQg8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAQBcQg8A" + - "AC4ARFxCDwCWAQAAAAEAKgEBHAAAAAsAAABBcHBsaWNhdGlvbgEBAQD/////AAAAAAABACgBAQAAAAEA" + - "AAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgEAXUIPAAAuAERdQg8A" + - "lgEAAAABACoBARwAAAANAAAAQXBwbGljYXRpb25JZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB" + - "/////wAAAAAEYYIKBAAAAAEAEQAAAFVwZGF0ZUFwcGxpY2F0aW9uAgEAXkIPAAAvAQG8AF5CDwABAf//" + - "//8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIBAF9CDwAALgBEX0IPAJYBAAAAAQAqAQEc" + - "AAAACwAAAEFwcGxpY2F0aW9uAQEBAP////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGC" + - "CgQAAAABABUAAABVbnJlZ2lzdGVyQXBwbGljYXRpb24CAQBgQg8AAC8BARUAYEIPAAEB/////wEAAAAX" + - "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgEAYUIPAAAuAERhQg8AlgEAAAABACoBARwAAAANAAAA" + - "QXBwbGljYXRpb25JZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEA" + - "DgAAAEdldEFwcGxpY2F0aW9uAgEAYkIPAAAvAQHSAGJCDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJ" + - "bnB1dEFyZ3VtZW50cwIBAGNCDwAALgBEY0IPAJYBAAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0aW9uSWQA" + - "Ef////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1" + - "bWVudHMCAQBkQg8AAC4ARGRCDwCWAQAAAAEAKgEBHAAAAAsAAABBcHBsaWNhdGlvbgEBAQD/////AAAA" + - "AAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAQARAAAAUXVlcnlBcHBsaWNhdGlvbnMC" + - "AQBlQg8AAC8BAWQDZUIPAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgEAZkIP" + - "AAAuAERmQg8AlgcAAAABACoBAR8AAAAQAAAAU3RhcnRpbmdSZWNvcmRJZAAH/////wAAAAAAAQAqAQEh" + - "AAAAEgAAAE1heFJlY29yZHNUb1JldHVybgAH/////wAAAAAAAQAqAQEeAAAADwAAAEFwcGxpY2F0aW9u" + - "TmFtZQAM/////wAAAAAAAQAqAQEdAAAADgAAAEFwcGxpY2F0aW9uVXJpAAz/////AAAAAAABACoBAR4A" + - "AAAPAAAAQXBwbGljYXRpb25UeXBlAAf/////AAAAAAABACoBARkAAAAKAAAAUHJvZHVjdFVyaQAM////" + - "/wAAAAAAAQAqAQEfAAAADAAAAENhcGFiaWxpdGllcwAMAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAcA" + - "AAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMCAQBnQg8AAC4ARGdCDwCWAwAA" + - "AAEAKgEBJQAAABQAAABMYXN0Q291bnRlclJlc2V0VGltZQEAJgH/////AAAAAAABACoBARsAAAAMAAAA" + - "TmV4dFJlY29yZElkAAf/////AAAAAAABACoBASEAAAAMAAAAQXBwbGljYXRpb25zAQA0AQEAAAABAAAA" + - "AAAAAAABACgBAQAAAAEAAAADAAAAAQH/////AAAAAARhggoEAAAAAQAMAAAAUXVlcnlTZXJ2ZXJzAgEA" + - "aEIPAAAvAQEXAGhCDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIBAGlCDwAA" + - "LgBEaUIPAJYGAAAAAQAqAQEfAAAAEAAAAFN0YXJ0aW5nUmVjb3JkSWQAB/////8AAAAAAAEAKgEBIQAA" + - "ABIAAABNYXhSZWNvcmRzVG9SZXR1cm4AB/////8AAAAAAAEAKgEBHgAAAA8AAABBcHBsaWNhdGlvbk5h" + - "bWUADP////8AAAAAAAEAKgEBHQAAAA4AAABBcHBsaWNhdGlvblVyaQAM/////wAAAAAAAQAqAQEZAAAA" + - "CgAAAFByb2R1Y3RVcmkADP////8AAAAAAAEAKgEBJQAAABIAAABTZXJ2ZXJDYXBhYmlsaXRpZXMADAEA" + - "AAABAAAAAAAAAAABACgBAQAAAAEAAAAGAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJn" + - "dW1lbnRzAgEAakIPAAAuAERqQg8AlgIAAAABACoBASUAAAAUAAAATGFzdENvdW50ZXJSZXNldFRpbWUB" + - "ACYB/////wAAAAAAAQAqAQEcAAAABwAAAFNlcnZlcnMBAJ0vAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAA" + - "AAIAAAABAf////8AAAAABGCACgEAAAABABEAAABDZXJ0aWZpY2F0ZUdyb3VwcwEB/wEAIwEA9TX/AQAA" + - "/////wEAAAAEYIAKAQAAAAAAFwAAAERlZmF1bHRBcHBsaWNhdGlvbkdyb3VwAQEAAgAvAQALMQACAAAB" + - "AAAAAQAuIwABAKkzAgAAAARggAoBAAAAAAAJAAAAVHJ1c3RMaXN0AQEBAgAvAQDqMAECAAD/////DwAA" + - "ABVgiQoCAAAAAAAEAAAAU2l6ZQEBAgIALgBEAgIAAAAJ/////wEB/////wAAAAAVYIkKAgAAAAAACAAA" + - "AFdyaXRhYmxlAQEDAgAuAEQDAgAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAVXNlcldyaXRh" + - "YmxlAQEEAgAuAEQEAgAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAAT3BlbkNvdW50AQEFAgAu" + - "AEQFAgAAAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAAT3BlbgEBBwIALwEAPC0HAgAAAQH/////" + - "AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAQgCAC4ARAgCAACWAQAAAAEAKgEBEwAAAAQA" + - "AABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0" + - "cHV0QXJndW1lbnRzAQEJAgAuAEQJAgAAlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAA" + - "AAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAENsb3NlAQEKAgAvAQA/LQoC" + - "AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBCwIALgBECwIAAJYBAAAAAQAq" + - "AQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGC" + - "CgQAAAAAAAQAAABSZWFkAQEMAgAvAQBBLQwCAAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + - "Z3VtZW50cwEBDQIALgBEDQIAAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEA" + - "KgEBFQAAAAYAAABMZW5ndGgABv////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIA" + - "AAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAQ4CAC4ARA4CAACWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//" + - "////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUBAQ8CAC8B" + - "AEQtDwIAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQEQAgAuAEQQAgAAlgIA" + - "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQETAAAABAAAAERhdGEAD/////8A" + - "AAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgEBEQIA" + - "LwEARi0RAgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBARICAC4ARBICAACW" + + "AFtCDwAALwEBEgBbQg8AAQEBAAAAACkAAQEaAAIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRz" + + "AgEAXEIPAAAuAERcQg8AlgEAAAABACoBARwAAAALAAAAQXBwbGljYXRpb24BAQEA/////wAAAAAAAQAo" + + "AQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwIBAF1CDwAA" + + "LgBEXUIPAJYBAAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKAEBAAAAAQAA" + + "AAEAAAABAf////8AAAAABGGCCgQAAAABABEAAABVcGRhdGVBcHBsaWNhdGlvbgIBAF5CDwAALwEBvABe" + + "Qg8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAQBfQg8AAC4ARF9CDwCWAQAA" + + "AAEAKgEBHAAAAAsAAABBcHBsaWNhdGlvbgEBAQD/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + + "AAAAAARhggoEAAAAAQAVAAAAVW5yZWdpc3RlckFwcGxpY2F0aW9uAgEAYEIPAAAvAQEVAGBCDwABAf//" + + "//8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIBAGFCDwAALgBEYUIPAJYBAAAAAQAqAQEc" + + "AAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGC" + + "CgQAAAABAA4AAABHZXRBcHBsaWNhdGlvbgIBAGJCDwAALwEB0gBiQg8AAQH/////AgAAABdgqQoCAAAA" + + "AAAOAAAASW5wdXRBcmd1bWVudHMCAQBjQg8AAC4ARGNCDwCWAQAAAAEAKgEBHAAAAA0AAABBcHBsaWNh" + + "dGlvbklkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0" + + "cHV0QXJndW1lbnRzAgEAZEIPAAAuAERkQg8AlgEAAAABACoBARwAAAALAAAAQXBwbGljYXRpb24BAQEA" + + "/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEAEQAAAFF1ZXJ5QXBwbGlj" + + "YXRpb25zAgEAZUIPAAAvAQFkA2VCDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50" + + "cwIBAGZCDwAALgBEZkIPAJYHAAAAAQAqAQEfAAAAEAAAAFN0YXJ0aW5nUmVjb3JkSWQAB/////8AAAAA" + + "AAEAKgEBIQAAABIAAABNYXhSZWNvcmRzVG9SZXR1cm4AB/////8AAAAAAAEAKgEBHgAAAA8AAABBcHBs" + + "aWNhdGlvbk5hbWUADP////8AAAAAAAEAKgEBHQAAAA4AAABBcHBsaWNhdGlvblVyaQAM/////wAAAAAA" + + "AQAqAQEeAAAADwAAAEFwcGxpY2F0aW9uVHlwZQAH/////wAAAAAAAQAqAQEZAAAACgAAAFByb2R1Y3RV" + + "cmkADP////8AAAAAAAEAKgEBHwAAAAwAAABDYXBhYmlsaXRpZXMADAEAAAABAAAAAAAAAAABACgBAQAA" + + "AAEAAAAHAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgEAZ0IPAAAuAERn" + + "Qg8AlgMAAAABACoBASUAAAAUAAAATGFzdENvdW50ZXJSZXNldFRpbWUBACYB/////wAAAAAAAQAqAQEb" + + "AAAADAAAAE5leHRSZWNvcmRJZAAH/////wAAAAAAAQAqAQEhAAAADAAAAEFwcGxpY2F0aW9ucwEANAEB" + + "AAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAwAAAAEB/////wAAAAAEYYIKBAAAAAEADAAAAFF1ZXJ5U2Vy" + + "dmVycwIBAGhCDwAALwEBFwBoQg8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMC" + + "AQBpQg8AAC4ARGlCDwCWBgAAAAEAKgEBHwAAABAAAABTdGFydGluZ1JlY29yZElkAAf/////AAAAAAAB" + + "ACoBASEAAAASAAAATWF4UmVjb3Jkc1RvUmV0dXJuAAf/////AAAAAAABACoBAR4AAAAPAAAAQXBwbGlj" + + "YXRpb25OYW1lAAz/////AAAAAAABACoBAR0AAAAOAAAAQXBwbGljYXRpb25VcmkADP////8AAAAAAAEA" + + "KgEBGQAAAAoAAABQcm9kdWN0VXJpAAz/////AAAAAAABACoBASUAAAASAAAAU2VydmVyQ2FwYWJpbGl0" + + "aWVzAAwBAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAABgAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91" + + "dHB1dEFyZ3VtZW50cwIBAGpCDwAALgBEakIPAJYCAAAAAQAqAQElAAAAFAAAAExhc3RDb3VudGVyUmVz" + + "ZXRUaW1lAQAmAf////8AAAAAAAEAKgEBHAAAAAcAAABTZXJ2ZXJzAQCdLwEAAAABAAAAAAAAAAABACgB" + + "AQAAAAEAAAACAAAAAQH/////AAAAAARggAoBAAAAAQARAAAAQ2VydGlmaWNhdGVHcm91cHMBAf8BACMB" + + "APU1/wEAAP////8BAAAABGCACgEAAAAAABcAAABEZWZhdWx0QXBwbGljYXRpb25Hcm91cAEBAAIALwEA" + + "CzEAAgAAAQAAAAEALiMAAQCpMwIAAAAEYIAKAQAAAAAACQAAAFRydXN0TGlzdAEBAQIALwEA6jABAgAA" + + "/////w8AAAAVYIkKAgAAAAAABAAAAFNpemUBAQICAC4ARAICAAAACf////8BAf////8AAAAAFWCJCgIA" + + "AAAAAAgAAABXcml0YWJsZQEBAwIALgBEAwIAAAAB/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAFVz" + + "ZXJXcml0YWJsZQEBBAIALgBEBAIAAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAE9wZW5Db3Vu" + + "dAEBBQIALgBEBQIAAAAF/////wEB/////wAAAAAEYYIKBAAAAAAABAAAAE9wZW4BAQcCAC8BADwtBwIA" + + "AAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQEIAgAuAEQIAgAAlgEAAAABACoB" + + "ARMAAAAEAAAATW9kZQAD/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAA" + + "DwAAAE91dHB1dEFyZ3VtZW50cwEBCQIALgBECQIAAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUA" + + "B/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAUAAABDbG9zZQEBCgIA" + + "LwEAPy0KAgAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAQsCAC4ARAsCAACW" + "AQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQETAgAuAEQTAgAAlgEAAAABACoBARcAAAAI" + - "AAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAsA" + - "AABTZXRQb3NpdGlvbgEBFAIALwEASS0UAgAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1" + - "bWVudHMBARUCAC4ARBUCAACWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoB" + - "ARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAFWCJCgIA" + - "AAAAAA4AAABMYXN0VXBkYXRlVGltZQEBFgIALgBEFgIAAAEAJgH/////AQH/////AAAAAARhggoEAAAA" + - "AAANAAAAT3BlbldpdGhNYXNrcwEBFwIALwEA/zAXAgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5w" + - "dXRBcmd1bWVudHMBARgCAC4ARBgCAACWAQAAAAEAKgEBFAAAAAUAAABNYXNrcwAH/////wAAAAAAAQAo" + - "AQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBGQIALgBE" + - "GQIAAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + - "Af////8AAAAABGGCCgQAAAAAAA4AAABDbG9zZUFuZFVwZGF0ZQEBGgIALwEAAjEaAgAAAQH/////AgAA" + - "ABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBARsCAC4ARBsCAACWAQAAAAEAKgEBGQAAAAoAAABG" + - "aWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAA" + - "T3V0cHV0QXJndW1lbnRzAQEcAgAuAEQcAgAAlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2VzUmVx" + - "dWlyZWQAAf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAA4AAABBZGRD" + - "ZXJ0aWZpY2F0ZQEBHQIALwEABDEdAgAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVu" + - "dHMBAR4CAC4ARB4CAACWAgAAAAEAKgEBGgAAAAsAAABDZXJ0aWZpY2F0ZQAP/////wAAAAAAAQAqAQEj" + - "AAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////" + - "AAAAAARhggoEAAAAAAARAAAAUmVtb3ZlQ2VydGlmaWNhdGUBAR8CAC8BAAYxHwIAAAEB/////wEAAAAX" + - "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQEgAgAuAEQgAgAAlgIAAAABACoBARkAAAAKAAAAVGh1" + - "bWJwcmludAAM/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////AAAA" + - "AAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgiQoCAAAAAAAQAAAAQ2VydGlmaWNhdGVUeXBlcwEB" + - "IQIALgBEIQIAAAARAQAAAAEAAAAAAAAAAQH/////AAAAAARhggoEAAAAAQATAAAAU3RhcnRTaWduaW5n" + - "UmVxdWVzdAEBTwAALwEBTwBPAAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMB" + - "AVAAAC4ARFAAAACWBAAAAAEAKgEBHAAAAA0AAABBcHBsaWNhdGlvbklkABH/////AAAAAAABACoBASEA" + - "AAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVU" + - "eXBlSWQAEf////8AAAAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZVJlcXVlc3QAD/////8AAAAAAAEA" + - "KAEBAAAAAQAAAAQAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAVEAAC4A" + - "RFEAAACWAQAAAAEAKgEBGAAAAAkAAABSZXF1ZXN0SWQAEf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + - "Af////8AAAAABGGCCgQAAAABABYAAABTdGFydE5ld0tleVBhaXJSZXF1ZXN0AQFMAAAvAQFMAEwAAAAB" + - "Af////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBTQAALgBETQAAAJYHAAAAAQAqAQEc" + - "AAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3Vw" + - "SWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEa" + - "AAAACwAAAFN1YmplY3ROYW1lAAz/////AAAAAAABACoBAR4AAAALAAAARG9tYWluTmFtZXMADAEAAAAB" + - "AAAAAAAAAAABACoBAR8AAAAQAAAAUHJpdmF0ZUtleUZvcm1hdAAM/////wAAAAAAAQAqAQEhAAAAEgAA" + - "AFByaXZhdGVLZXlQYXNzd29yZAAM/////wAAAAAAAQAoAQEAAAABAAAABwAAAAEB/////wAAAAAXYKkK" + - "AgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBTgAALgBETgAAAJYBAAAAAQAqAQEYAAAACQAAAFJlcXVl" + - "c3RJZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEADQAAAEZpbmlz" + - "aFJlcXVlc3QBAVUAAC8BAVUAVQAAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRz" + - "AQFWAAAuAERWAAAAlgIAAAABACoBARwAAAANAAAAQXBwbGljYXRpb25JZAAR/////wAAAAAAAQAqAQEY" + - "AAAACQAAAFJlcXVlc3RJZAAR/////wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAXYKkKAgAA" + - "AAAADwAAAE91dHB1dEFyZ3VtZW50cwEBVwAALgBEVwAAAJYDAAAAAQAqAQEaAAAACwAAAENlcnRpZmlj" + - "YXRlAA//////AAAAAAABACoBARkAAAAKAAAAUHJpdmF0ZUtleQAP/////wAAAAAAAQAqAQElAAAAEgAA" + - "AElzc3VlckNlcnRpZmljYXRlcwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAMAAAABAf////8AAAAA" + - "BGGCCgQAAAABABEAAABSZXZva2VDZXJ0aWZpY2F0ZQEBmzoALwEBmzqbOgAAAQH/////AQAAABdgqQoC" + - "AAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAZw6AC4ARJw6AACWAgAAAAEAKgEBHAAAAA0AAABBcHBsaWNh" + - "dGlvbklkABH/////AAAAAAABACoBARoAAAALAAAAQ2VydGlmaWNhdGUAD/////8AAAAAAAEAKAEBAAAA" + - "AQAAAAIAAAABAf////8AAAAABGGCCgQAAAABABQAAABHZXRDZXJ0aWZpY2F0ZUdyb3VwcwEBcQEALwEB" + - "cQFxAQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAXIBAC4ARHIBAACWAQAA" + - "AAEAKgEBHAAAAA0AAABBcHBsaWNhdGlvbklkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQFzAQAuAERzAQAAlgEAAAABACoBASYAAAAT" + - "AAAAQ2VydGlmaWNhdGVHcm91cElkcwARAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + - "AAAABGGCCgQAAAABAA8AAABHZXRDZXJ0aWZpY2F0ZXMBAVkAAC8BAVkAWQAAAAEB/////wIAAAAXYKkK" + - "AgAAAAAADgAAAElucHV0QXJndW1lbnRzAQFaAAAuAERaAAAAlgIAAAABACoBARwAAAANAAAAQXBwbGlj" + - "YXRpb25JZAAR/////wAAAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJZAAR/////wAAAAAA" + - "AQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBbAAA" + - "LgBEbAAAAJYCAAAAAQAqAQElAAAAEgAAAENlcnRpZmljYXRlVHlwZUlkcwARAQAAAAEAAAAAAAAAAAEA" + - "KgEBHwAAAAwAAABDZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgBAQAAAAEAAAACAAAAAQH/////" + - "AAAAAARhggoEAAAAAQAMAAAAR2V0VHJ1c3RMaXN0AQHFAAAvAQHFAMUAAAABAf////8CAAAAF2CpCgIA" + - "AAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBxgAALgBExgAAAJYCAAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0" + - "aW9uSWQAEf////8AAAAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEA" + - "KAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAccAAC4A" + - "RMcAAACWAQAAAAEAKgEBGgAAAAsAAABUcnVzdExpc3RJZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + - "AAEB/////wAAAAAEYYIKBAAAAAEAFAAAAEdldENlcnRpZmljYXRlU3RhdHVzAQHeAAAvAQHeAN4AAAAB" + - "Af////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEB3wAALgBE3wAAAJYDAAAAAQAqAQEc" + - "AAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3Vw" + - "SWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAoAQEA" + - "AAABAAAAAwAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEB4AAALgBE4AAA" + - "AJYBAAAAAQAqAQEdAAAADgAAAFVwZGF0ZVJlcXVpcmVkAAH/////AAAAAAABACgBAQAAAAEAAAABAAAA" + - "AQH/////AAAAAARhggoEAAAAAQAVAAAAQ2hlY2tSZXZvY2F0aW9uU3RhdHVzAQF+AAAvAQF+AH4AAAAB" + - "Af////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBoAAALgBEoAAAAJYBAAAAAQAqAQEa" + - "AAAACwAAAENlcnRpZmljYXRlAA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoC" + - "AAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQGhAAAuAEShAAAAlgIAAAABACoBASAAAAARAAAAQ2VydGlm" + - "aWNhdGVTdGF0dXMAE/////8AAAAAAAEAKgEBHQAAAAwAAABWYWxpZGl0eVRpbWUBACYB/////wAAAAAA" + - "AQAoAQEAAAABAAAAAgAAAAEB/////wAAAAA="; + "AAAAAARhggoEAAAAAAAEAAAAUmVhZAEBDAIALwEAQS0MAgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAA" + + "SW5wdXRBcmd1bWVudHMBAQ0CAC4ARA0CAACWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////" + + "AAAAAAABACoBARUAAAAGAAAATGVuZ3RoAAb/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAA" + + "ABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQEOAgAuAEQOAgAAlgEAAAABACoBARMAAAAEAAAA" + + "RGF0YQAP/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAFdyaXRl" + + "AQEPAgAvAQBELQ8CAAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBEAIALgBE" + + "EAIAAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBEwAAAAQAAABEYXRh" + + "AA//////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAAALAAAAR2V0UG9zaXRp" + + "b24BARECAC8BAEYtEQIAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQESAgAu" + + "AEQSAgAAlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + + "AAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBEwIALgBEEwIAAJYBAAAAAQAq" + + "AQEXAAAACAAAAFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoE" + + "AAAAAAALAAAAU2V0UG9zaXRpb24BARQCAC8BAEktFAIAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElu" + + "cHV0QXJndW1lbnRzAQEVAgAuAEQVAgAAlgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAA" + + "AAAAAQAqAQEXAAAACAAAAFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAA" + + "ABVgiQoCAAAAAAAOAAAATGFzdFVwZGF0ZVRpbWUBARYCAC4ARBYCAAABACYB/////wEB/////wAAAAAE" + + "YYIKBAAAAAAADQAAAE9wZW5XaXRoTWFza3MBARcCAC8BAP8wFwIAAAEB/////wIAAAAXYKkKAgAAAAAA" + + "DgAAAElucHV0QXJndW1lbnRzAQEYAgAuAEQYAgAAlgEAAAABACoBARQAAAAFAAAATWFza3MAB/////8A" + + "AAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMB" + + "ARkCAC4ARBkCAACWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEA" + + "AAABAAAAAQH/////AAAAAARhggoEAAAAAAAOAAAAQ2xvc2VBbmRVcGRhdGUBARoCAC8BAAIxGgIAAAEB" + + "/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQEbAgAuAEQbAgAAlgEAAAABACoBARkA" + + "AAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAA" + + "AAAADwAAAE91dHB1dEFyZ3VtZW50cwEBHAIALgBEHAIAAJYBAAAAAQAqAQEjAAAAFAAAAEFwcGx5Q2hh" + + "bmdlc1JlcXVpcmVkAAH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAO" + + "AAAAQWRkQ2VydGlmaWNhdGUBAR0CAC8BAAQxHQIAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0" + + "QXJndW1lbnRzAQEeAgAuAEQeAgAAlgIAAAABACoBARoAAAALAAAAQ2VydGlmaWNhdGUAD/////8AAAAA" + + "AAEAKgEBIwAAABQAAABJc1RydXN0ZWRDZXJ0aWZpY2F0ZQAB/////wAAAAAAAQAoAQEAAAABAAAAAgAA" + + "AAEB/////wAAAAAEYYIKBAAAAAAAEQAAAFJlbW92ZUNlcnRpZmljYXRlAQEfAgAvAQAGMR8CAAABAf//" + + "//8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBIAIALgBEIAIAAJYCAAAAAQAqAQEZAAAA" + + "CgAAAFRodW1icHJpbnQADP////8AAAAAAAEAKgEBIwAAABQAAABJc1RydXN0ZWRDZXJ0aWZpY2F0ZQAB" + + "/////wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAXYIkKAgAAAAAAEAAAAENlcnRpZmljYXRl" + + "VHlwZXMBASECAC4ARCECAAAAEQEAAAABAAAAAAAAAAEB/////wAAAAAEYYIKBAAAAAEAEwAAAFN0YXJ0" + + "U2lnbmluZ1JlcXVlc3QBAU8AAC8BAU8ATwAAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJn" + + "dW1lbnRzAQFQAAAuAERQAAAAlgQAAAABACoBARwAAAANAAAAQXBwbGljYXRpb25JZAAR/////wAAAAAA" + + "AQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJZAAR/////wAAAAAAAQAqAQEgAAAAEQAAAENlcnRp" + + "ZmljYXRlVHlwZUlkABH/////AAAAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVSZXF1ZXN0AA//////" + + "AAAAAAABACgBAQAAAAEAAAAEAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRz" + + "AQFRAAAuAERRAAAAlgEAAAABACoBARgAAAAJAAAAUmVxdWVzdElkABH/////AAAAAAABACgBAQAAAAEA" + + "AAABAAAAAQH/////AAAAAARhggoEAAAAAQAWAAAAU3RhcnROZXdLZXlQYWlyUmVxdWVzdAEBTAAALwEB" + + "TABMAAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAU0AAC4ARE0AAACWBwAA" + + "AAEAKgEBHAAAAA0AAABBcHBsaWNhdGlvbklkABH/////AAAAAAABACoBASEAAAASAAAAQ2VydGlmaWNh" + + "dGVHcm91cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAA" + + "AAEAKgEBGgAAAAsAAABTdWJqZWN0TmFtZQAM/////wAAAAAAAQAqAQEeAAAACwAAAERvbWFpbk5hbWVz" + + "AAwBAAAAAQAAAAAAAAAAAQAqAQEfAAAAEAAAAFByaXZhdGVLZXlGb3JtYXQADP////8AAAAAAAEAKgEB" + + "IQAAABIAAABQcml2YXRlS2V5UGFzc3dvcmQADP////8AAAAAAAEAKAEBAAAAAQAAAAcAAAABAf////8A" + + "AAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAU4AAC4ARE4AAACWAQAAAAEAKgEBGAAAAAkA" + + "AABSZXF1ZXN0SWQAEf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAABAA0A" + + "AABGaW5pc2hSZXF1ZXN0AQFVAAAvAQFVAFUAAAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + + "Z3VtZW50cwEBVgAALgBEVgAAAJYCAAAAAQAqAQEcAAAADQAAAEFwcGxpY2F0aW9uSWQAEf////8AAAAA" + + "AAEAKgEBGAAAAAkAAABSZXF1ZXN0SWQAEf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAA" + + "F2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAVcAAC4ARFcAAACWAwAAAAEAKgEBGgAAAAsAAABD" + + "ZXJ0aWZpY2F0ZQAP/////wAAAAAAAQAqAQEZAAAACgAAAFByaXZhdGVLZXkAD/////8AAAAAAAEAKgEB" + + "JQAAABIAAABJc3N1ZXJDZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgBAQAAAAEAAAADAAAAAQH/" + + "////AAAAAARhggoEAAAAAQARAAAAUmV2b2tlQ2VydGlmaWNhdGUBAZs6AC8BAZs6mzoAAAEB/////wEA" + + "AAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQGcOgAuAEScOgAAlgIAAAABACoBARwAAAANAAAA" + + "QXBwbGljYXRpb25JZAAR/////wAAAAAAAQAqAQEaAAAACwAAAENlcnRpZmljYXRlAA//////AAAAAAAB" + + "ACgBAQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAQAUAAAAR2V0Q2VydGlmaWNhdGVHcm91cHMB" + + "AXEBAC8BAXEBcQEAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQFyAQAuAERy" + + "AQAAlgEAAAABACoBARwAAAANAAAAQXBwbGljYXRpb25JZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + + "AAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBcwEALgBEcwEAAJYBAAAAAQAq" + + "AQEmAAAAEwAAAENlcnRpZmljYXRlR3JvdXBJZHMAEQEAAAABAAAAAAAAAAABACgBAQAAAAEAAAABAAAA" + + "AQH/////AAAAAARhggoEAAAAAQAPAAAAR2V0Q2VydGlmaWNhdGVzAQFZAAAvAQFZAFkAAAABAf////8C" + + "AAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEBWgAALgBEWgAAAJYCAAAAAQAqAQEcAAAADQAA" + + "AEFwcGxpY2F0aW9uSWQAEf////8AAAAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf//" + + "//8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVu" + + "dHMBAWwAAC4ARGwAAACWAgAAAAEAKgEBJQAAABIAAABDZXJ0aWZpY2F0ZVR5cGVJZHMAEQEAAAABAAAA" + + "AAAAAAABACoBAR8AAAAMAAAAQ2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAgAA" + + "AAEB/////wAAAAAEYYIKBAAAAAEADAAAAEdldFRydXN0TGlzdAEBxQAALwEBxQDFAAAAAQH/////AgAA" + + "ABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAcYAAC4ARMYAAACWAgAAAAEAKgEBHAAAAA0AAABB" + + "cHBsaWNhdGlvbklkABH/////AAAAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////" + + "AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRz" + + "AQHHAAAuAETHAAAAlgEAAAABACoBARoAAAALAAAAVHJ1c3RMaXN0SWQAEf////8AAAAAAAEAKAEBAAAA" + + "AQAAAAEAAAABAf////8AAAAABGGCCgQAAAABABQAAABHZXRDZXJ0aWZpY2F0ZVN0YXR1cwEB3gAALwEB" + + "3gDeAAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAd8AAC4ARN8AAACWAwAA" + + "AAEAKgEBHAAAAA0AAABBcHBsaWNhdGlvbklkABH/////AAAAAAABACoBASEAAAASAAAAQ2VydGlmaWNh" + + "dGVHcm91cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAA" + + "AAEAKAEBAAAAAQAAAAMAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAeAA" + + "AC4AROAAAACWAQAAAAEAKgEBHQAAAA4AAABVcGRhdGVSZXF1aXJlZAAB/////wAAAAAAAQAoAQEAAAAB" + + "AAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAEAFQAAAENoZWNrUmV2b2NhdGlvblN0YXR1cwEBfgAALwEB" + + "fgB+AAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAaAAAC4ARKAAAACWAQAA" + + "AAEAKgEBGgAAAAsAAABDZXJ0aWZpY2F0ZQAP/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAA" + + "AAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEBoQAALgBEoQAAAJYCAAAAAQAqAQEgAAAAEQAA" + + "AENlcnRpZmljYXRlU3RhdHVzABP/////AAAAAAABACoBAR0AAAAMAAAAVmFsaWRpdHlUaW1lAQAmAf//" + + "//8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAA"; #endregion #endif #endregion @@ -3486,23 +4647,98 @@ protected override BaseInstanceState FindChild( } } - instance = CertificateType; - break; - } - } + instance = CertificateType; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_certificateGroup; + private PropertyState m_certificateType; + #endregion + } + #endif + #endregion + + #region CertificateRevokedAuditEventState Class + #if (!OPCUA_EXCLUDE_CertificateRevokedAuditEventState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class CertificateRevokedAuditEventState : AuditUpdateMethodEventState + { + #region Constructors + /// + public CertificateRevokedAuditEventState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.Gds.ObjectTypes.CertificateRevokedAuditEventType, Opc.Ua.Gds.Namespaces.OpcUaGds, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "AQAAACAAAABodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvR0RTL/////8EYIACAQAAAAEAKAAAAENl" + + "cnRpZmljYXRlUmV2b2tlZEF1ZGl0RXZlbnRUeXBlSW5zdGFuY2UBARsAAQEbABsAAAD/////DwAAABVg" + + "iQoCAAAAAAAHAAAARXZlbnRJZAIBAJdCDwAALgBEl0IPAAAP/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "CQAAAEV2ZW50VHlwZQIBAJhCDwAALgBEmEIPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNv" + + "dXJjZU5vZGUCAQCZQg8AAC4ARJlCDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VO" + + "YW1lAgEAmkIPAAAuAESaQg8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAEAAAAVGltZQIBAJtCDwAA" + + "LgBEm0IPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAALAAAAUmVjZWl2ZVRpbWUCAQCcQg8AAC4A" + + "RJxCDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAAAE1lc3NhZ2UCAQCeQg8AAC4ARJ5CDwAA" + + "Ff////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0eQIBAJ9CDwAALgBEn0IPAAAF/////wEB" + + "/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGlvblRpbWVTdGFtcAIBAKRCDwAALgBEpEIPAAEAJgH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAGAAAAU3RhdHVzAgEApUIPAAAuAESlQg8AAAH/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAIAAAAU2VydmVySWQCAQCmQg8AAC4ARKZCDwAADP////8BAf////8AAAAAFWCJCgIA" + + "AAAAABIAAABDbGllbnRBdWRpdEVudHJ5SWQCAQCnQg8AAC4ARKdCDwAADP////8BAf////8AAAAAFWCJ" + + "CgIAAAAAAAwAAABDbGllbnRVc2VySWQCAQCoQg8AAC4ARKhCDwAADP////8BAf////8AAAAAFWCJCgIA" + + "AAAAAAgAAABNZXRob2RJZAIBAKlCDwAALgBEqUIPAAAR/////wEB/////wAAAAAXYIkKAgAAAAAADgAA" + + "AElucHV0QXJndW1lbnRzAgEAq0IPAAAuAESrQg8AABgBAAAAAQAAAAAAAAABAf////8AAAAA"; + #endregion + #endif + #endregion - if (instance != null) - { - return instance; - } + #region Public Properties + #endregion - return base.FindChild(context, browseName, createOrReplace, replacement); - } + #region Overridden Methods #endregion #region Private Fields - private PropertyState m_certificateGroup; - private PropertyState m_certificateType; #endregion } #endif @@ -4028,6 +5264,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public KeyCredentialStartRequestMethodStateMethodCallHandler OnCall; + + /// + public KeyCredentialStartRequestMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -4041,6 +5280,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -4072,6 +5316,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + KeyCredentialStartRequestMethodStateResult _result = null; + + string applicationUri = (string)_inputArguments[0]; + byte[] publicKey = (byte[])_inputArguments[1]; + string securityPolicyUri = (string)_inputArguments[2]; + NodeId[] requestedRoles = (NodeId[])_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationUri, + publicKey, + securityPolicyUri, + requestedRoles, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RequestId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -4089,6 +5378,29 @@ public delegate ServiceResult KeyCredentialStartRequestMethodStateMethodCallHand string securityPolicyUri, NodeId[] requestedRoles, ref NodeId requestId); + + /// + /// + public partial class KeyCredentialStartRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId RequestId { get; set; } + } + + + /// + /// + public delegate ValueTask KeyCredentialStartRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string applicationUri, + byte[] publicKey, + string securityPolicyUri, + NodeId[] requestedRoles, + CancellationToken cancellationToken); #endif #endregion @@ -4144,6 +5456,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public KeyCredentialFinishRequestMethodStateMethodCallHandler OnCall; + + /// + public KeyCredentialFinishRequestMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -4157,6 +5472,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -4196,6 +5516,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + KeyCredentialFinishRequestMethodStateResult _result = null; + + NodeId requestId = (NodeId)_inputArguments[0]; + bool cancelRequest = (bool)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + requestId, + cancelRequest, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CredentialId; + _outputArguments[1] = _result.CredentialSecret; + _outputArguments[2] = _result.CertificateThumbprint; + _outputArguments[3] = _result.SecurityPolicyUri; + _outputArguments[4] = _result.GrantedRoles; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -4215,6 +5580,35 @@ public delegate ServiceResult KeyCredentialFinishRequestMethodStateMethodCallHan ref string certificateThumbprint, ref string securityPolicyUri, ref NodeId[] grantedRoles); + + /// + /// + public partial class KeyCredentialFinishRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string CredentialId { get; set; } + /// + public byte[] CredentialSecret { get; set; } + /// + public string CertificateThumbprint { get; set; } + /// + public string SecurityPolicyUri { get; set; } + /// + public NodeId[] GrantedRoles { get; set; } + } + + + /// + /// + public delegate ValueTask KeyCredentialFinishRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId requestId, + bool cancelRequest, + CancellationToken cancellationToken); #endif #endregion @@ -4265,6 +5659,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public KeyCredentialRevokeMethodStateMethodCallHandler OnCall; + + /// + public KeyCredentialRevokeMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -4278,6 +5675,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -4298,6 +5700,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + KeyCredentialRevokeMethodStateResult _result = null; + + string credentialId = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + credentialId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -4311,6 +5750,24 @@ public delegate ServiceResult KeyCredentialRevokeMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, string credentialId); + + /// + /// + public partial class KeyCredentialRevokeMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask KeyCredentialRevokeMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string credentialId, + CancellationToken cancellationToken); #endif #endregion @@ -4359,21 +5816,21 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "AQAAACAAAABodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvR0RTL/////8EYIACAQAAAAEALAAAAEtl" + "eUNyZWRlbnRpYWxSZXF1ZXN0ZWRBdWRpdEV2ZW50VHlwZUluc3RhbmNlAQEPBAEBDwQPBAAA/////xAA" + - "AAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAQCjQg8AAC4ARKNCDwAAD/////8BAf////8AAAAAFWCJCgIA" + - "AAAAAAkAAABFdmVudFR5cGUCAQCkQg8AAC4ARKRCDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoA" + - "AABTb3VyY2VOb2RlAgEApUIPAAAuAESlQg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + - "cmNlTmFtZQIBAKZCDwAALgBEpkIPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAAAFRpbWUCAQCn" + - "Qg8AAC4ARKdCDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVUaW1lAgEAqEIP" + - "AAAuAESoQg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgEAqkIPAAAuAESq" + - "Qg8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAQCrQg8AAC4ARKtCDwAABf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAQCwQg8AAC4ARLBCDwABACYB" + - "/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIBALFCDwAALgBEsUIPAAAB/////wEB////" + - "/wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgEAskIPAAAuAESyQg8AAAz/////AQH/////AAAAABVg" + - "iQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgEAs0IPAAAuAESzQg8AAAz/////AQH/////AAAA" + - "ABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgEAtEIPAAAuAES0Qg8AAAz/////AQH/////AAAAABVg" + - "iQoCAAAAAAAIAAAATWV0aG9kSWQCAQC1Qg8AAC4ARLVCDwAAEf////8BAf////8AAAAAF2CJCgIAAAAA" + - "AA4AAABJbnB1dEFyZ3VtZW50cwIBALdCDwAALgBEt0IPAAAYAQAAAAEAAAAAAAAAAQH/////AAAAABVg" + - "iQoCAAAAAAALAAAAUmVzb3VyY2VVcmkCAQC5Qg8AAC4ARLlCDwAADP////8BAf////8AAAAA"; + "AAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAQC5Qg8AAC4ARLlCDwAAD/////8BAf////8AAAAAFWCJCgIA" + + "AAAAAAkAAABFdmVudFR5cGUCAQC6Qg8AAC4ARLpCDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoA" + + "AABTb3VyY2VOb2RlAgEAu0IPAAAuAES7Qg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + + "cmNlTmFtZQIBALxCDwAALgBEvEIPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAAAFRpbWUCAQC9" + + "Qg8AAC4ARL1CDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVUaW1lAgEAvkIP" + + "AAAuAES+Qg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgEAwEIPAAAuAETA" + + "Qg8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAQDBQg8AAC4ARMFCDwAABf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAQDGQg8AAC4ARMZCDwABACYB" + + "/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIBAMdCDwAALgBEx0IPAAAB/////wEB////" + + "/wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgEAyEIPAAAuAETIQg8AAAz/////AQH/////AAAAABVg" + + "iQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgEAyUIPAAAuAETJQg8AAAz/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgEAykIPAAAuAETKQg8AAAz/////AQH/////AAAAABVg" + + "iQoCAAAAAAAIAAAATWV0aG9kSWQCAQDLQg8AAC4ARMtCDwAAEf////8BAf////8AAAAAF2CJCgIAAAAA" + + "AA4AAABJbnB1dEFyZ3VtZW50cwIBAM1CDwAALgBEzUIPAAAYAQAAAAEAAAAAAAAAAQH/////AAAAABVg" + + "iQoCAAAAAAALAAAAUmVzb3VyY2VVcmkCAQDPQg8AAC4ARM9CDwAADP////8BAf////8AAAAA"; #endregion #endif #endregion @@ -4435,21 +5892,21 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "AQAAACAAAABodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvR0RTL/////8EYIACAQAAAAEALAAAAEtl" + "eUNyZWRlbnRpYWxEZWxpdmVyZWRBdWRpdEV2ZW50VHlwZUluc3RhbmNlAQEhBAEBIQQhBAAA/////xAA" + - "AAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAQC6Qg8AAC4ARLpCDwAAD/////8BAf////8AAAAAFWCJCgIA" + - "AAAAAAkAAABFdmVudFR5cGUCAQC7Qg8AAC4ARLtCDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoA" + - "AABTb3VyY2VOb2RlAgEAvEIPAAAuAES8Qg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + - "cmNlTmFtZQIBAL1CDwAALgBEvUIPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAAAFRpbWUCAQC+" + - "Qg8AAC4ARL5CDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVUaW1lAgEAv0IP" + - "AAAuAES/Qg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgEAwUIPAAAuAETB" + - "Qg8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAQDCQg8AAC4ARMJCDwAABf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAQDHQg8AAC4ARMdCDwABACYB" + - "/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIBAMhCDwAALgBEyEIPAAAB/////wEB////" + - "/wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgEAyUIPAAAuAETJQg8AAAz/////AQH/////AAAAABVg" + - "iQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgEAykIPAAAuAETKQg8AAAz/////AQH/////AAAA" + - "ABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgEAy0IPAAAuAETLQg8AAAz/////AQH/////AAAAABVg" + - "iQoCAAAAAAAIAAAATWV0aG9kSWQCAQDMQg8AAC4ARMxCDwAAEf////8BAf////8AAAAAF2CJCgIAAAAA" + - "AA4AAABJbnB1dEFyZ3VtZW50cwIBAM5CDwAALgBEzkIPAAAYAQAAAAEAAAAAAAAAAQH/////AAAAABVg" + - "iQoCAAAAAAALAAAAUmVzb3VyY2VVcmkCAQDQQg8AAC4ARNBCDwAADP////8BAf////8AAAAA"; + "AAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAQDQQg8AAC4ARNBCDwAAD/////8BAf////8AAAAAFWCJCgIA" + + "AAAAAAkAAABFdmVudFR5cGUCAQDRQg8AAC4ARNFCDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoA" + + "AABTb3VyY2VOb2RlAgEA0kIPAAAuAETSQg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + + "cmNlTmFtZQIBANNCDwAALgBE00IPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAAAFRpbWUCAQDU" + + "Qg8AAC4ARNRCDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVUaW1lAgEA1UIP" + + "AAAuAETVQg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgEA10IPAAAuAETX" + + "Qg8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAQDYQg8AAC4ARNhCDwAABf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAQDdQg8AAC4ARN1CDwABACYB" + + "/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIBAN5CDwAALgBE3kIPAAAB/////wEB////" + + "/wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgEA30IPAAAuAETfQg8AAAz/////AQH/////AAAAABVg" + + "iQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgEA4EIPAAAuAETgQg8AAAz/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgEA4UIPAAAuAEThQg8AAAz/////AQH/////AAAAABVg" + + "iQoCAAAAAAAIAAAATWV0aG9kSWQCAQDiQg8AAC4AROJCDwAAEf////8BAf////8AAAAAF2CJCgIAAAAA" + + "AA4AAABJbnB1dEFyZ3VtZW50cwIBAORCDwAALgBE5EIPAAAYAQAAAAEAAAAAAAAAAQH/////AAAAABVg" + + "iQoCAAAAAAALAAAAUmVzb3VyY2VVcmkCAQDmQg8AAC4AROZCDwAADP////8BAf////8AAAAA"; #endregion #endif #endregion @@ -4511,21 +5968,21 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "AQAAACAAAABodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvR0RTL/////8EYIACAQAAAAEAKgAAAEtl" + "eUNyZWRlbnRpYWxSZXZva2VkQXVkaXRFdmVudFR5cGVJbnN0YW5jZQEBMwQBATMEMwQAAP////8QAAAA" + - "FWCJCgIAAAAAAAcAAABFdmVudElkAgEA0UIPAAAuAETRQg8AAA//////AQH/////AAAAABVgiQoCAAAA" + - "AAAJAAAARXZlbnRUeXBlAgEA0kIPAAAuAETSQg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAA" + - "U291cmNlTm9kZQIBANNCDwAALgBE00IPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJj" + - "ZU5hbWUCAQDUQg8AAC4ARNRCDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgEA1UIP" + - "AAAuAETVQg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABSZWNlaXZlVGltZQIBANZCDwAA" + - "LgBE1kIPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAATWVzc2FnZQIBANhCDwAALgBE2EIP" + - "AAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AgEA2UIPAAAuAETZQg8AAAX/////" + - "AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0YW1wAgEA3kIPAAAuAETeQg8AAQAmAf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAQDfQg8AAC4ARN9CDwAAAf////8BAf////8A" + - "AAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIBAOBCDwAALgBE4EIPAAAM/////wEB/////wAAAAAVYIkK" + - "AgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIBAOFCDwAALgBE4UIPAAAM/////wEB/////wAAAAAV" + - "YIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIBAOJCDwAALgBE4kIPAAAM/////wEB/////wAAAAAVYIkK" + - "AgAAAAAACAAAAE1ldGhvZElkAgEA40IPAAAuAETjQg8AABH/////AQH/////AAAAABdgiQoCAAAAAAAO" + - "AAAASW5wdXRBcmd1bWVudHMCAQDlQg8AAC4AROVCDwAAGAEAAAABAAAAAAAAAAEB/////wAAAAAVYIkK" + - "AgAAAAAACwAAAFJlc291cmNlVXJpAgEA50IPAAAuAETnQg8AAAz/////AQH/////AAAAAA=="; + "FWCJCgIAAAAAAAcAAABFdmVudElkAgEA50IPAAAuAETnQg8AAA//////AQH/////AAAAABVgiQoCAAAA" + + "AAAJAAAARXZlbnRUeXBlAgEA6EIPAAAuAEToQg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAA" + + "U291cmNlTm9kZQIBAOlCDwAALgBE6UIPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJj" + + "ZU5hbWUCAQDqQg8AAC4AROpCDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgEA60IP" + + "AAAuAETrQg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABSZWNlaXZlVGltZQIBAOxCDwAA" + + "LgBE7EIPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAATWVzc2FnZQIBAO5CDwAALgBE7kIP" + + "AAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AgEA70IPAAAuAETvQg8AAAX/////" + + "AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0YW1wAgEA9EIPAAAuAET0Qg8AAQAmAf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAQD1Qg8AAC4ARPVCDwAAAf////8BAf////8A" + + "AAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIBAPZCDwAALgBE9kIPAAAM/////wEB/////wAAAAAVYIkK" + + "AgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIBAPdCDwAALgBE90IPAAAM/////wEB/////wAAAAAV" + + "YIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIBAPhCDwAALgBE+EIPAAAM/////wEB/////wAAAAAVYIkK" + + "AgAAAAAACAAAAE1ldGhvZElkAgEA+UIPAAAuAET5Qg8AABH/////AQH/////AAAAABdgiQoCAAAAAAAO" + + "AAAASW5wdXRBcmd1bWVudHMCAQD7Qg8AAC4ARPtCDwAAGAEAAAABAAAAAAAAAAEB/////wAAAAAVYIkK" + + "AgAAAAAACwAAAFJlc291cmNlVXJpAgEA/UIPAAAuAET9Qg8AAAz/////AQH/////AAAAAA=="; #endregion #endif #endregion @@ -5009,6 +6466,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetServiceDescriptionMethodStateMethodCallHandler OnCall; + + /// + public GetServiceDescriptionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -5022,6 +6482,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -5050,6 +6515,44 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetServiceDescriptionMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ServiceUri; + _outputArguments[1] = _result.ServiceCertificate; + _outputArguments[2] = _result.UserTokenPolicies; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -5065,6 +6568,29 @@ public delegate ServiceResult GetServiceDescriptionMethodStateMethodCallHandler( ref string serviceUri, ref byte[] serviceCertificate, ref Opc.Ua.UserTokenPolicy[] userTokenPolicies); + + /// + /// + public partial class GetServiceDescriptionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string ServiceUri { get; set; } + /// + public byte[] ServiceCertificate { get; set; } + /// + public Opc.Ua.UserTokenPolicy[] UserTokenPolicies { get; set; } + } + + + /// + /// + public delegate ValueTask GetServiceDescriptionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); #endif #endregion @@ -5118,6 +6644,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RequestAccessTokenMethodStateMethodCallHandler OnCall; + + /// + public RequestAccessTokenMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -5131,6 +6660,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -5158,6 +6692,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RequestAccessTokenMethodStateResult _result = null; + + Opc.Ua.UserIdentityToken identityToken = (Opc.Ua.UserIdentityToken)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + string resourceId = (string)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + identityToken, + resourceId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.AccessToken; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -5173,6 +6748,27 @@ public delegate ServiceResult RequestAccessTokenMethodStateMethodCallHandler( Opc.Ua.UserIdentityToken identityToken, string resourceId, ref string accessToken); + + /// + /// + public partial class RequestAccessTokenMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string AccessToken { get; set; } + } + + + /// + /// + public delegate ValueTask RequestAccessTokenMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + Opc.Ua.UserIdentityToken identityToken, + string resourceId, + CancellationToken cancellationToken); #endif #endregion @@ -5221,20 +6817,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "AQAAACAAAABodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvR0RTL/////8EYIACAQAAAAEAJwAAAEFj" + "Y2Vzc1Rva2VuSXNzdWVkQXVkaXRFdmVudFR5cGVJbnN0YW5jZQEBzwMBAc8DzwMAAP////8PAAAAFWCJ" + - "CgIAAAAAAAcAAABFdmVudElkAgEA8UIPAAAuAETxQg8AAA//////AQH/////AAAAABVgiQoCAAAAAAAJ" + - "AAAARXZlbnRUeXBlAgEA8kIPAAAuAETyQg8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + - "cmNlTm9kZQIBAPNCDwAALgBE80IPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5h" + - "bWUCAQD0Qg8AAC4ARPRCDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgEA9UIPAAAu" + - "AET1Qg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABSZWNlaXZlVGltZQIBAPZCDwAALgBE" + - "9kIPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAATWVzc2FnZQIBAPhCDwAALgBE+EIPAAAV" + - "/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AgEA+UIPAAAuAET5Qg8AAAX/////AQH/" + - "////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0YW1wAgEA/kIPAAAuAET+Qg8AAQAmAf////8B" + - "Af////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAQD/Qg8AAC4ARP9CDwAAAf////8BAf////8AAAAA" + - "FWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIBAABDDwAALgBEAEMPAAAM/////wEB/////wAAAAAVYIkKAgAA" + - "AAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIBAAFDDwAALgBEAUMPAAAM/////wEB/////wAAAAAVYIkK" + - "AgAAAAAADAAAAENsaWVudFVzZXJJZAIBAAJDDwAALgBEAkMPAAAM/////wEB/////wAAAAAVYIkKAgAA" + - "AAAACAAAAE1ldGhvZElkAgEAA0MPAAAuAEQDQw8AABH/////AQH/////AAAAABdgiQoCAAAAAAAOAAAA" + - "SW5wdXRBcmd1bWVudHMCAQAFQw8AAC4ARAVDDwAAGAEAAAABAAAAAAAAAAEB/////wAAAAA="; + "CgIAAAAAAAcAAABFdmVudElkAgEAB0MPAAAuAEQHQw8AAA//////AQH/////AAAAABVgiQoCAAAAAAAJ" + + "AAAARXZlbnRUeXBlAgEACEMPAAAuAEQIQw8AABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291" + + "cmNlTm9kZQIBAAlDDwAALgBECUMPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5h" + + "bWUCAQAKQw8AAC4ARApDDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgEAC0MPAAAu" + + "AEQLQw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABSZWNlaXZlVGltZQIBAAxDDwAALgBE" + + "DEMPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAATWVzc2FnZQIBAA5DDwAALgBEDkMPAAAV" + + "/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AgEAD0MPAAAuAEQPQw8AAAX/////AQH/" + + "////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0YW1wAgEAFEMPAAAuAEQUQw8AAQAmAf////8B" + + "Af////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAQAVQw8AAC4ARBVDDwAAAf////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIBABZDDwAALgBEFkMPAAAM/////wEB/////wAAAAAVYIkKAgAA" + + "AAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIBABdDDwAALgBEF0MPAAAM/////wEB/////wAAAAAVYIkK" + + "AgAAAAAADAAAAENsaWVudFVzZXJJZAIBABhDDwAALgBEGEMPAAAM/////wEB/////wAAAAAVYIkKAgAA" + + "AAAACAAAAE1ldGhvZElkAgEAGUMPAAAuAEQZQw8AABH/////AQH/////AAAAABdgiQoCAAAAAAAOAAAA" + + "SW5wdXRBcmd1bWVudHMCAQAbQw8AAC4ARBtDDwAAGAEAAAABAAAAAAAAAAEB/////wAAAAA="; #endregion #endif #endregion diff --git a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.uanodes b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.uanodes index 3aacbd4d1c..42525a1959 100644 Binary files a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.uanodes and b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.uanodes differ diff --git a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.xml b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.xml index a1fa2b22ba..451ac0e101 100644 --- a/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.xml +++ b/Libraries/Opc.Ua.Gds.Server.Common/Model/Opc.Ua.Gds.PredefinedNodes.xml @@ -105,7 +105,7 @@ 723 - 1.05.04 + 1.05.05 @@ -133,7 +133,7 @@ 724 - 2025-01-08T00:00:00Z + 2025-06-30T00:00:00Z @@ -350,7 +350,7 @@ 1756 - 1.5.4 + 1.5.5 @@ -3303,6 +3303,16 @@ 18 true true + + + + i=41 + + + ns=1;i=26 + + + Variable_2 @@ -4158,16 +4168,6 @@ i=78 511 - - - - i=35 - - - i=13916 - - - Object_1 @@ -6833,6 +6833,20 @@ 1 + + ObjectType_8 + + ns=1;i=27 + + + 1 + CertificateRevokedAuditEventType + + + i=2127 + + true + ObjectType_8 @@ -8598,6 +8612,16 @@ 146 true true + + + + i=41 + + + ns=1;i=26 + + + Variable_2 @@ -13863,8 +13887,8 @@ c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy9UeXBlcy54 c2QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy9U eXBlcy54c2QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIg0KPg0KICA8eHM6YW5u b3RhdGlvbj4NCiAgICA8eHM6YXBwaW5mbz4NCiAgICAgIDx1YTpNb2RlbCBNb2RlbFVyaT0iaHR0 -cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy8iIFZlcnNpb249IjEuMDUuMDQiIFB1YmxpY2F0 -aW9uRGF0ZT0iMjAyNS0wMS0wOFQwMDowMDowMFoiIC8+DQogICAgPC94czphcHBpbmZvPg0KICA8 +cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy8iIFZlcnNpb249IjEuMDUuMDUiIFB1YmxpY2F0 +aW9uRGF0ZT0iMjAyNS0wNi0zMFQwMDowMDowMFoiIC8+DQogICAgPC94czphcHBpbmZvPg0KICA8 L3hzOmFubm90YXRpb24+DQogIA0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2Zv dW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcHBsaWNhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog diff --git a/Libraries/Opc.Ua.Gds.Server.Common/Opc.Ua.Gds.Server.Common.csproj b/Libraries/Opc.Ua.Gds.Server.Common/Opc.Ua.Gds.Server.Common.csproj index 6feef34976..0a0e62a521 100644 --- a/Libraries/Opc.Ua.Gds.Server.Common/Opc.Ua.Gds.Server.Common.csproj +++ b/Libraries/Opc.Ua.Gds.Server.Common/Opc.Ua.Gds.Server.Common.csproj @@ -37,12 +37,11 @@ - + - - + \ No newline at end of file diff --git a/Libraries/Opc.Ua.PubSub/Opc.Ua.PubSub.csproj b/Libraries/Opc.Ua.PubSub/Opc.Ua.PubSub.csproj index 9f02f59418..cd802006a0 100644 --- a/Libraries/Opc.Ua.PubSub/Opc.Ua.PubSub.csproj +++ b/Libraries/Opc.Ua.PubSub/Opc.Ua.PubSub.csproj @@ -11,13 +11,6 @@ true - - - - $(NBGV_Version)-beta - $(NBGV_VersionRevision)-beta - $(NBGV_Version)-beta - $(PackageId).Debug @@ -32,7 +25,7 @@ - + @@ -42,20 +35,20 @@ $(NoWarn);CS8002 - + - + - + - + \ No newline at end of file diff --git a/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj b/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj index bce2226616..de3b45b91e 100644 --- a/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj +++ b/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj @@ -18,7 +18,7 @@ - + @@ -40,24 +40,15 @@ - - - + - - - - - - - - - - - - + + + + + - + \ No newline at end of file diff --git a/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMReader.cs b/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMReader.cs index 2d2666947b..36331a5c13 100644 --- a/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMReader.cs +++ b/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMReader.cs @@ -29,13 +29,14 @@ #if !NETSTANDARD2_1 && !NET5_0_OR_GREATER using System; -using System.Security.Cryptography; using System.IO; +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; using System.Text; +using Opc.Ua.Security.Certificates.BouncyCastle; +using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.OpenSsl; using Org.BouncyCastle.Security; -using Org.BouncyCastle.Crypto.Parameters; -using Opc.Ua.Security.Certificates.BouncyCastle; namespace Opc.Ua.Security.Certificates { @@ -45,6 +46,88 @@ namespace Opc.Ua.Security.Certificates public static class PEMReader { #region Public Methods + /// + /// Checks if the PEM data contains a private key. + /// + /// The PEM data as a byte span. + /// True if a private key is found. + public static bool ContainsPrivateKey(byte[] pemDataBlob) + { + using (var ms = new MemoryStream(pemDataBlob)) + using (var reader = new StreamReader(ms, Encoding.UTF8, true)) + { + var pemReader = new Org.BouncyCastle.OpenSsl.PemReader(reader); + try + { + object pemObject = pemReader.ReadObject(); + while (pemObject != null) + { + // Check for AsymmetricCipherKeyPair (private key) + if (pemObject is Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair) + { + return true; + } + // Check for direct private key parameters + if (pemObject is Org.BouncyCastle.Crypto.Parameters.RsaPrivateCrtKeyParameters) + { + return true; + } +#if NET472_OR_GREATER + if (pemObject is Org.BouncyCastle.Crypto.Parameters.ECPrivateKeyParameters) + { + return true; + } +#endif + pemObject = pemReader.ReadObject(); + } + } + finally + { + pemReader.Reader.Dispose(); + } + } + return false; + } + + + /// + /// Import multiple X509 certificates from PEM data. + /// Supports a maximum of 99 certificates in the PEM data. + /// + /// The PEM datablob as byte array. + /// The certificates. + public static X509Certificate2Collection ImportPublicKeysFromPEM( + byte[] pemDataBlob) + { + var certificates = new X509Certificate2Collection(); + using (var ms = new MemoryStream(pemDataBlob)) + using (var reader = new StreamReader(ms, Encoding.UTF8, true)) + { + var pemReader = new Org.BouncyCastle.OpenSsl.PemReader(reader); + int certCount = 0; + try + { + object pemObject = pemReader.ReadObject(); + while (pemObject != null && certCount < 99) + { + if (pemObject is Org.BouncyCastle.X509.X509Certificate bcCert) + { + var rawData = bcCert.GetEncoded(); + var cert = new X509Certificate2(rawData); + certificates.Add(cert); + certCount++; + } + pemObject = pemReader.ReadObject(); + } + } + finally + { + pemReader.Reader.Dispose(); + } + } + return certificates; + } + /// /// Import an RSA private key from PEM. /// @@ -92,7 +175,7 @@ private static AsymmetricAlgorithm ImportPrivateKey( byte[] pemDataBlob, string password = null) { - + Org.BouncyCastle.OpenSsl.PemReader pemReader; using (var pemStreamReader = new StreamReader(new MemoryStream(pemDataBlob), Encoding.UTF8, true)) { @@ -191,7 +274,7 @@ private static ECDsa CreateECDsaFromECPrivateKey(ECPrivateKeyParameters eCPrivat } #endif -#endregion + #endregion #region Internal class /// diff --git a/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMWriter.cs b/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMWriter.cs index 49e3039da6..6934e0ccb7 100644 --- a/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMWriter.cs +++ b/Libraries/Opc.Ua.Security.Certificates/Org.BouncyCastle/PEMWriter.cs @@ -30,11 +30,13 @@ #if !NETSTANDARD2_1 && !NET5_0_OR_GREATER using System; +using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; +using System.Text; using Opc.Ua.Security.Certificates.BouncyCastle; +using Org.BouncyCastle.Asn1.Pkcs; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Pkcs; -using Org.BouncyCastle.Asn1.Pkcs; namespace Opc.Ua.Security.Certificates { @@ -77,7 +79,61 @@ public static byte[] ExportPrivateKeyAsPEM( throw new ArgumentException("ExportPrivateKeyAsPEM not supported on this platform."); // Only on NETSTANDARD2_0 #endif } -#endregion + + /// + /// Returns a byte array containing the private key in PEM format. + /// + public static bool TryRemovePublicKeyFromPEM( + string thumbprint, + byte[] pemDataBlob, + out byte[] modifiedPemDataBlob + ) + { + modifiedPemDataBlob = null; + string label = "CERTIFICATE"; + string beginlabel = $"-----BEGIN {label}-----"; + string endlabel = $"-----END {label}-----"; + try + { + string pemText = Encoding.UTF8.GetString(pemDataBlob); + int searchPosition = 0; + int count = 0; + int endIndex = 0; + while (endIndex > -1 && count < 99) + { + count++; + int beginIndex = pemText.IndexOf(beginlabel, searchPosition, StringComparison.Ordinal); + if (beginIndex < 0) + { + return false; + } + endIndex = pemText.IndexOf(endlabel, searchPosition, StringComparison.Ordinal); + beginIndex += beginlabel.Length; + if (endIndex < 0 || endIndex <= beginIndex) + { + return false; + } + var pemCertificateContent = pemText.Substring(beginIndex, endIndex - beginIndex); + var pemCertificateDecoded = Convert.FromBase64CharArray(pemCertificateContent.ToCharArray(), 0, pemCertificateContent.Length); + + var certificate = X509CertificateLoader.LoadCertificate(pemCertificateDecoded); + if (thumbprint.Equals(certificate.Thumbprint, StringComparison.OrdinalIgnoreCase)) + { + modifiedPemDataBlob = Encoding.ASCII.GetBytes(pemText.Replace(pemText.Substring(beginIndex -= beginlabel.Length, endIndex + endlabel.Length), string.Empty)); + return true; + } + + + searchPosition = endIndex + endlabel.Length; + } + } + catch (Exception) + { + return false; + } + return false; + } + #endregion } } #endif diff --git a/Libraries/Opc.Ua.Security.Certificates/PEM/PEMReader.cs b/Libraries/Opc.Ua.Security.Certificates/PEM/PEMReader.cs index 8e9e0fdcb2..48043dde77 100644 --- a/Libraries/Opc.Ua.Security.Certificates/PEM/PEMReader.cs +++ b/Libraries/Opc.Ua.Security.Certificates/PEM/PEMReader.cs @@ -30,8 +30,10 @@ #if NETSTANDARD2_1 || NET5_0_OR_GREATER using System; -using System.Security.Cryptography; using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; using System.Text; namespace Opc.Ua.Security.Certificates @@ -41,7 +43,90 @@ namespace Opc.Ua.Security.Certificates /// public static class PEMReader { -#region Public Methods + #region Public Methods + /// + /// Checks if the PEM data contains a private key. + /// + /// The PEM data as a byte span. + /// True if a private key is found. + public static bool ContainsPrivateKey(ReadOnlySpan pemDataBlob) + { + try + { + string pemText = Encoding.UTF8.GetString(pemDataBlob); + + + string[] valuesToCheck = { + "-----BEGIN PRIVATE KEY-----", + "-----BEGIN RSA PRIVATE KEY-----", + "-----BEGIN ENCRYPTED PRIVATE KEY-----", + "-----BEGIN EC PRIVATE KEY-----" + }; + + return valuesToCheck.Any(value => pemText.Contains(value, StringComparison.Ordinal)); + } + catch + { + return false; + } + } + /// + /// Import multiple X509 certificates from PEM data. + /// Supports a maximum of 99 certificates in the PEM data. + /// + /// The PEM datablob as byte array. + /// The certificates. + public static X509Certificate2Collection ImportPublicKeysFromPEM( + ReadOnlySpan pemDataBlob) + { + var certificates = new X509Certificate2Collection(); + string label = "CERTIFICATE"; + string beginlabel = $"-----BEGIN {label}-----"; + string endlabel = $"-----END {label}-----"; + try + { + ReadOnlySpan pemText = Encoding.UTF8.GetString(pemDataBlob).AsSpan(); + int count = 0; + int endIndex = 0; + while (endIndex > -1 && count < 99) + { + count++; + int beginIndex = pemText.IndexOf(beginlabel, StringComparison.Ordinal); + if (beginIndex < 0) + { + return certificates; + } + endIndex = pemText.IndexOf(endlabel, StringComparison.Ordinal); + beginIndex += beginlabel.Length; + if (endIndex < 0 || endIndex <= beginIndex) + { + return certificates; + } + var pemCertificateContent = pemText.Slice(beginIndex, endIndex - beginIndex); + Span pemCertificateDecoded = new Span(new byte[pemCertificateContent.Length]); + if (Convert.TryFromBase64Chars(pemCertificateContent, pemCertificateDecoded, out var bytesWritten)) + { +#if NET6_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificate(pemCertificateDecoded)); +#else + certificates.Add(X509CertificateLoader.LoadCertificate(pemCertificateDecoded.ToArray())); +#endif + } + + pemText = pemText.Slice(endIndex + endlabel.Length); + } + } + catch (CryptographicException) + { + throw; + } + catch (Exception ex) + { + throw new CryptographicException("Failed to decode the PEM encoded Certificates.", ex); + } + return certificates; + } + /// /// Import a PKCS#8 private key or RSA private key from PEM. /// The PKCS#8 private key may be encrypted using a password. @@ -156,7 +241,7 @@ public static ECDsa ImportECDsaPrivateKeyFromPEM( // Extract the base64-encoded section string pemData = pemText.Substring(beginIndex, endIndex - beginIndex).Trim(); byte[] decodedBytes = new byte[pemData.Length]; - if(Convert.TryFromBase64Chars(pemData, decodedBytes, out int bytesDecoded)) + if (Convert.TryFromBase64Chars(pemData, decodedBytes, out int bytesDecoded)) { // Resize array to actual decoded length Array.Resize(ref decodedBytes, bytesDecoded); @@ -201,10 +286,10 @@ public static ECDsa ImportECDsaPrivateKeyFromPEM( // If no recognized PEM label was found throw new ArgumentException("No ECDSA private PEM key found."); } -#endregion + #endregion -#region Private Methods -#endregion + #region Private Methods + #endregion } } #endif diff --git a/Libraries/Opc.Ua.Security.Certificates/PEM/PEMWriter.cs b/Libraries/Opc.Ua.Security.Certificates/PEM/PEMWriter.cs index 147a661208..791b3e8e99 100644 --- a/Libraries/Opc.Ua.Security.Certificates/PEM/PEMWriter.cs +++ b/Libraries/Opc.Ua.Security.Certificates/PEM/PEMWriter.cs @@ -150,6 +150,65 @@ public static byte[] ExportPrivateKeyAsPEM( return EncodeAsPEM(exportedPkcs8PrivateKey, String.IsNullOrEmpty(password) ? "PRIVATE KEY" : "ENCRYPTED PRIVATE KEY"); } + + /// + /// Returns a byte array containing the private key in PEM format. + /// + public static bool TryRemovePublicKeyFromPEM( + string thumbprint, + ReadOnlySpan pemDataBlob, + out byte[] modifiedPemDataBlob + ) + { + modifiedPemDataBlob = null; + string label = "CERTIFICATE"; + string beginlabel = $"-----BEGIN {label}-----"; + string endlabel = $"-----END {label}-----"; + try + { + string pemText = Encoding.UTF8.GetString(pemDataBlob); + int searchPosition = 0; + int count = 0; + int endIndex = 0; + while (endIndex > -1 && count < 99) + { + count++; + int beginIndex = pemText.IndexOf(beginlabel, searchPosition, StringComparison.Ordinal); + if (beginIndex < 0) + { + return false; + } + endIndex = pemText.IndexOf(endlabel, searchPosition, StringComparison.Ordinal); + beginIndex += beginlabel.Length; + if (endIndex < 0 || endIndex <= beginIndex) + { + return false; + } + var pemCertificateContent = pemText.Substring(beginIndex, endIndex - beginIndex); + Span pemCertificateDecoded = new Span(new byte[pemCertificateContent.Length]); + if (Convert.TryFromBase64Chars(pemCertificateContent, pemCertificateDecoded, out var bytesWritten)) + { +#if NET6_0_OR_GREATER + var certificate = X509CertificateLoader.LoadCertificate(pemCertificateDecoded); +#else + var certificate = X509CertificateLoader.LoadCertificate(pemCertificateDecoded.ToArray()); +#endif + if (thumbprint.Equals(certificate.Thumbprint, StringComparison.OrdinalIgnoreCase)) + { + modifiedPemDataBlob = Encoding.ASCII.GetBytes(pemText.Replace(pemText.Substring(beginIndex -= beginlabel.Length, endIndex + endlabel.Length), string.Empty)); + return true; + } + } + + searchPosition = endIndex + endlabel.Length; + } + } + catch (Exception) + { + return false; + } + return false; + } #endif #endregion diff --git a/Libraries/Opc.Ua.Server/Subscription/Subscription.cs b/Libraries/Opc.Ua.Server/Subscription/Subscription.cs index 7699503ca1..39aa035a81 100644 --- a/Libraries/Opc.Ua.Server/Subscription/Subscription.cs +++ b/Libraries/Opc.Ua.Server/Subscription/Subscription.cs @@ -988,7 +988,7 @@ private NotificationMessage InnerPublish( lock (DiagnosticsWriteLock) { - m_diagnostics.DataChangeNotificationsCount += (uint)dataChangeCount; + m_diagnostics.DataChangeNotificationsCount += (uint)(dataChangeCount - datachanges.Count); m_diagnostics.EventNotificationsCount += (uint)(eventCount - events.Count); m_diagnostics.NotificationsCount += (uint)notificationCount; } @@ -1023,7 +1023,7 @@ private NotificationMessage InnerPublish( lock (DiagnosticsWriteLock) { - m_diagnostics.DataChangeNotificationsCount += (uint)dataChangeCount; + m_diagnostics.DataChangeNotificationsCount += (uint)(dataChangeCount - datachanges.Count); m_diagnostics.EventNotificationsCount += (uint)(eventCount - events.Count); m_diagnostics.NotificationsCount += (uint)notificationCount; } diff --git a/Stack/Opc.Ua.Bindings.Https/Opc.Ua.Bindings.Https.csproj b/Stack/Opc.Ua.Bindings.Https/Opc.Ua.Bindings.Https.csproj index bacdc7a3f5..b2ab225a47 100644 --- a/Stack/Opc.Ua.Bindings.Https/Opc.Ua.Bindings.Https.csproj +++ b/Stack/Opc.Ua.Bindings.Https/Opc.Ua.Bindings.Https.csproj @@ -1,5 +1,4 @@  - true $(HttpsTargetFrameworks) @@ -10,15 +9,12 @@ true true - $(PackageId).Debug - $(DefineConstants);SIGNASSEMBLY - @@ -29,15 +25,14 @@ - - - - - - + + + + + @@ -46,19 +41,14 @@ - - - - + - - - + \ No newline at end of file diff --git a/Stack/Opc.Ua.Core/Opc.Ua.Core.csproj b/Stack/Opc.Ua.Core/Opc.Ua.Core.csproj index e7f48c3fe3..ecbfe9d09a 100644 --- a/Stack/Opc.Ua.Core/Opc.Ua.Core.csproj +++ b/Stack/Opc.Ua.Core/Opc.Ua.Core.csproj @@ -1,5 +1,4 @@  - $(DefineConstants);NET_STANDARD;NET_STANDARD_ASYNC $(LibCoreTargetFrameworks) @@ -11,7 +10,6 @@ true true - @@ -22,15 +20,12 @@ - $(PackageId).Debug - $(DefineConstants);SIGNASSEMBLY - @@ -39,7 +34,6 @@ - @@ -50,74 +44,59 @@ - - - - - - - - + + - + - - + + - - + + - - + - - + - - - - - $(BaseIntermediateOutputPath)$(Configuration)/$(TargetFramework)/zipnodeset2 Schema/Opc.Ua.NodeSet2.xml $(BaseIntermediateOutputPath)$(Configuration)/$(TargetFramework)/Opc.Ua.NodeSet2.xml.zip - - @@ -126,11 +105,11 @@ - - - + + + + - - + \ No newline at end of file diff --git a/Stack/Opc.Ua.Core/Schema/NodeIds.csv b/Stack/Opc.Ua.Core/Schema/NodeIds.csv index 35013746f6..ddd37d87c5 100644 --- a/Stack/Opc.Ua.Core/Schema/NodeIds.csv +++ b/Stack/Opc.Ua.Core/Schema/NodeIds.csv @@ -3680,6 +3680,12 @@ WellKnownRole_SecurityAdmin_ApplicationsExclude,15430,Variable TestConcreteStructure_Encoding_DefaultJson,15431,Object TestEnumeration,15432,DataType TestEnumeration_EnumValues,15433,Variable +BaseConfigurationDataType,15434,DataType +BaseConfigurationRecordDataType,15435,DataType +CertificateGroupDataType,15436,DataType +ConfigurationFileType,15437,ObjectType +ConfigurationFileType_LastUpdateTime,15438,Variable +ConfigurationFileType_CurrentVersion,15439,Variable PublishSubscribe_GetSecurityGroup,15440,Method PublishSubscribe_GetSecurityGroup_InputArguments,15441,Variable PublishSubscribe_GetSecurityGroup_OutputArguments,15442,Variable @@ -3743,8 +3749,19 @@ RemoveExtensionFieldMethodType,15499,Method RemoveExtensionFieldMethodType_InputArguments,15500,Variable OpcUa_BinarySchema_SimpleTypeDescription,15501,Variable NetworkAddressDataType,15502,DataType +ConfigurationFileType_ActivityTimeout,15503,Variable +ConfigurationFileType_SupportedDataType,15504,Variable +ConfigurationFileType_CloseAndUpdate,15505,Method +ConfigurationFileType_CloseAndUpdate_InputArguments,15506,Variable +ConfigurationFileType_CloseAndUpdate_OutputArguments,15507,Variable +ConfigurationFileType_ConfirmUpdate,15508,Method OpcUa_BinarySchema_SimpleTypeDescription_DataTypeVersion,15509,Variable NetworkAddressUrlDataType,15510,DataType +ConfigurationFileType_ConfirmUpdate_InputArguments,15511,Variable +ConfigurationFileCloseAndUpdateMethodType,15513,Method +ConfigurationFileCloseAndUpdateMethodType_InputArguments,15514,Variable +ConfigurationFileCloseAndUpdateMethodType_OutputArguments,15515,Variable +ConfigurationFileConfirmUpdateMethodType,15516,Method PublishedEventsType_ModifyFieldSelection_OutputArguments,15517,Variable PublishedEventsTypeModifyFieldSelectionMethodType_OutputArguments,15518,Variable OpcUa_BinarySchema_SimpleTypeDescription_DictionaryFragment,15519,Variable @@ -3764,13 +3781,44 @@ DatagramWriterGroupTransportDataType,15532,DataType PublishSubscribeType_ConnectionName_Placeholder_Address_NetworkInterface,15533,Variable DataTypeSchemaHeader,15534,DataType PubSubStatusEventType,15535,ObjectType +ConfigurationFileConfirmUpdateMethodType_InputArguments,15536,Variable +ConfigurationUpdateTargetType,15538,DataType +ConfigurationUpdateType,15539,DataType +ConfigurationUpdateType_EnumValues,15540,Variable +ConfigurationUpdatedAuditEventType,15541,ObjectType +ConfigurationUpdatedAuditEventType_OldVersion,15542,Variable +ConfigurationUpdatedAuditEventType_NewVersion,15543,Variable PubSubStatusEventType_ConnectionId,15545,Variable PubSubStatusEventType_GroupId,15546,Variable PubSubStatusEventType_State,15547,Variable PubSubTransportLimitsExceedEventType,15548,ObjectType +ApplicationConfigurationDataType,15549,DataType +ApplicationConfigurationFileType,15550,ObjectType +ApplicationConfigurationFileType_AvailableNetworks,15551,Variable +ApplicationConfigurationFileType_AvailablePorts,15552,Variable +ApplicationConfigurationFileType_SecurityPolicyUris,15553,Variable +ApplicationConfigurationFileType_UserTokenTypes,15554,Variable +ApplicationConfigurationFileType_CertificateTypes,15555,Variable +ApplicationIdentityDataType,15556,DataType +EndpointDataType,15557,DataType +ServerEndpointDataType,15558,DataType +SecuritySettingsDataType,15559,DataType +UserTokenSettingsDataType,15560,DataType PubSubTransportLimitsExceedEventType_Actual,15561,Variable PubSubTransportLimitsExceedEventType_Maximum,15562,Variable PubSubCommunicationFailureEventType,15563,ObjectType +ServerConfigurationType_ConfigurationFile,15564,Object +ServerConfigurationType_ConfigurationFile_Size,15565,Variable +ServerConfigurationType_ConfigurationFile_Writable,15566,Variable +ServerConfigurationType_ConfigurationFile_UserWritable,15567,Variable +ServerConfigurationType_ConfigurationFile_OpenCount,15568,Variable +ServerConfigurationType_ConfigurationFile_MimeType,15569,Variable +ServerConfigurationType_ConfigurationFile_MaxByteStringLength,15570,Variable +ServerConfigurationType_ConfigurationFile_LastModifiedTime,15571,Variable +ServerConfigurationType_ConfigurationFile_Open,15572,Method +ServerConfigurationType_ConfigurationFile_Open_InputArguments,15573,Variable +ServerConfigurationType_ConfigurationFile_Open_OutputArguments,15574,Variable +ServerConfigurationType_ConfigurationFile_Close,15575,Method PubSubCommunicationFailureEventType_Error,15576,Variable DataSetFieldFlags_OptionSetValues,15577,Variable PublishedDataSetDataType,15578,DataType @@ -3985,6 +4033,9 @@ OpcUa_BinarySchema_DataSetWriterMessageDataType_DictionaryFragment,15786,Variabl OpcUa_BinarySchema_PubSubGroupDataType,15787,Variable OpcUa_BinarySchema_PubSubGroupDataType_DataTypeVersion,15788,Variable OpcUa_BinarySchema_PubSubGroupDataType_DictionaryFragment,15789,Variable +ServerConfigurationType_ConfigurationFile_Close_InputArguments,15790,Variable +ServerConfigurationType_ConfigurationFile_Read,15791,Method +ServerConfigurationType_ConfigurationFile_Read_InputArguments,15792,Variable OpcUa_BinarySchema_WriterGroupTransportDataType,15793,Variable TemporaryFileTransferType_TransferState_Placeholder_Reset,15794,Method GenerateFileForReadMethodType,15795,Method @@ -3996,6 +4047,17 @@ CloseAndCommitMethodType,15800,Method CloseAndCommitMethodType_InputArguments,15801,Variable CloseAndCommitMethodType_OutputArguments,15802,Variable FileTransferStateMachineType,15803,ObjectType +ServerConfigurationType_ConfigurationFile_Read_OutputArguments,15804,Variable +ServerConfigurationType_ConfigurationFile_Write,15805,Method +ServerConfigurationType_ConfigurationFile_Write_InputArguments,15806,Variable +ServerConfigurationType_ConfigurationFile_GetPosition,15807,Method +ServerConfigurationType_ConfigurationFile_GetPosition_InputArguments,15808,Variable +ServerConfigurationType_ConfigurationFile_GetPosition_OutputArguments,15809,Variable +ServerConfigurationType_ConfigurationFile_SetPosition,15810,Method +ServerConfigurationType_ConfigurationFile_SetPosition_InputArguments,15811,Variable +ServerConfigurationType_ConfigurationFile_LastUpdateTime,15812,Variable +ServerConfigurationType_ConfigurationFile_CurrentVersion,15813,Variable +ServerConfigurationType_ConfigurationFile_ActivityTimeout,15814,Variable FileTransferStateMachineType_Idle,15815,Object FileTransferStateMachineType_Idle_StateNumber,15816,Variable FileTransferStateMachineType_ReadPrepare,15817,Object @@ -4029,6 +4091,10 @@ PublishSubscribeType_Status,15844,Object PublishSubscribeType_Status_State,15845,Variable PublishSubscribeType_Status_Enable,15846,Method PublishSubscribeType_Status_Disable,15847,Method +ServerConfigurationType_ConfigurationFile_SupportedDataType,15848,Variable +ServerConfigurationType_ConfigurationFile_CloseAndUpdate,15849,Method +ServerConfigurationType_ConfigurationFile_CloseAndUpdate_InputArguments,15850,Variable +ServerConfigurationType_ConfigurationFile_CloseAndUpdate_OutputArguments,15851,Variable OpcUa_BinarySchema_WriterGroupTransportDataType_DataTypeVersion,15852,Variable OpcUa_BinarySchema_WriterGroupTransportDataType_DictionaryFragment,15853,Variable OpcUa_BinarySchema_WriterGroupMessageDataType,15854,Variable @@ -4040,6 +4106,8 @@ OpcUa_BinarySchema_PubSubConnectionDataType_DictionaryFragment,15859,Variable OpcUa_BinarySchema_ConnectionTransportDataType,15860,Variable OpcUa_BinarySchema_ConnectionTransportDataType_DataTypeVersion,15861,Variable OpcUa_BinarySchema_ConnectionTransportDataType_DictionaryFragment,15862,Variable +ServerConfigurationType_ConfigurationFile_ConfirmUpdate,15863,Method +ServerConfigurationType_ConfigurationFile_ConfirmUpdate_InputArguments,15864,Variable OpcUa_BinarySchema_ReaderGroupTransportDataType,15866,Variable OpcUa_BinarySchema_ReaderGroupTransportDataType_DataTypeVersion,15867,Variable OpcUa_BinarySchema_ReaderGroupTransportDataType_DictionaryFragment,15868,Variable @@ -4066,6 +4134,9 @@ OpcUa_BinarySchema_TargetVariablesDataType_DictionaryFragment,15888,Variable OpcUa_BinarySchema_SubscribedDataSetMirrorDataType,15889,Variable OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DataTypeVersion,15890,Variable OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DictionaryFragment,15891,Variable +ServerConfiguration_ConfigurationFile,15892,Object +ServerConfiguration_ConfigurationFile_Size,15893,Variable +ServerConfiguration_ConfigurationFile_Writable,15894,Variable OpcUa_BinarySchema_UadpWriterGroupMessageDataType,15895,Variable OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DataTypeVersion,15896,Variable OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DictionaryFragment,15897,Variable @@ -4108,6 +4179,9 @@ DataSetReaderType_SecurityGroupId,15933,Variable DataSetReaderType_SecurityKeyServices,15934,Variable OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DataTypeVersion,15935,Variable OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DictionaryFragment,15936,Variable +ServerConfiguration_ConfigurationFile_UserWritable,15937,Variable +ServerConfiguration_ConfigurationFile_OpenCount,15938,Variable +ServerConfiguration_ConfigurationFile_MimeType,15939,Variable OpcUa_BinarySchema_BrokerWriterGroupTransportDataType,15940,Variable OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DataTypeVersion,15941,Variable OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DictionaryFragment,15942,Variable @@ -4157,10 +4231,12 @@ OPCUANamespaceMetadata_NamespaceFile_SetPosition_InputArguments,15985,Variable OPCUANamespaceMetadata_NamespaceFile_ExportNamespace,15986,Method DataSetWriterMessageDataType_Encoding_DefaultXml,15987,Object PubSubGroupDataType_Encoding_DefaultXml,15988,Object +ServerConfiguration_ConfigurationFile_MaxByteStringLength,15989,Variable WriterGroupTransportDataType_Encoding_DefaultXml,15990,Object WriterGroupMessageDataType_Encoding_DefaultXml,15991,Object PubSubConnectionDataType_Encoding_DefaultXml,15992,Object ConnectionTransportDataType_Encoding_DefaultXml,15993,Object +ServerConfiguration_ConfigurationFile_LastModifiedTime,15994,Variable ReaderGroupTransportDataType_Encoding_DefaultXml,15995,Object ReaderGroupMessageDataType_Encoding_DefaultXml,15996,Object RoleSetType_AddRole,15997,Method @@ -4179,12 +4255,14 @@ DataSetReaderMessageDataType_Encoding_DefaultXml,16009,Object SubscribedDataSetDataType_Encoding_DefaultXml,16010,Object TargetVariablesDataType_Encoding_DefaultXml,16011,Object SubscribedDataSetMirrorDataType_Encoding_DefaultXml,16012,Object +ServerConfiguration_ConfigurationFile_Open,16013,Method UadpWriterGroupMessageDataType_Encoding_DefaultXml,16014,Object UadpDataSetWriterMessageDataType_Encoding_DefaultXml,16015,Object UadpDataSetReaderMessageDataType_Encoding_DefaultXml,16016,Object JsonWriterGroupMessageDataType_Encoding_DefaultXml,16017,Object JsonDataSetWriterMessageDataType_Encoding_DefaultXml,16018,Object JsonDataSetReaderMessageDataType_Encoding_DefaultXml,16019,Object +ServerConfiguration_ConfigurationFile_Open_InputArguments,16020,Variable BrokerWriterGroupTransportDataType_Encoding_DefaultXml,16021,Object BrokerDataSetWriterTransportDataType_Encoding_DefaultXml,16022,Object BrokerDataSetReaderTransportDataType_Encoding_DefaultXml,16023,Object @@ -4223,6 +4301,9 @@ OpcUa_XmlSchema_DataSetWriterMessageDataType_DictionaryFragment,16055,Variable OpcUa_XmlSchema_PubSubGroupDataType,16056,Variable OpcUa_XmlSchema_PubSubGroupDataType_DataTypeVersion,16057,Variable OpcUa_XmlSchema_PubSubGroupDataType_DictionaryFragment,16058,Variable +ServerConfiguration_ConfigurationFile_Open_OutputArguments,16059,Variable +ServerConfiguration_ConfigurationFile_Close,16060,Method +ServerConfiguration_ConfigurationFile_Close_InputArguments,16061,Variable OpcUa_XmlSchema_WriterGroupTransportDataType,16062,Variable OpcUa_XmlSchema_WriterGroupTransportDataType_DataTypeVersion,16063,Variable OpcUa_XmlSchema_WriterGroupTransportDataType_DictionaryFragment,16064,Variable @@ -4235,6 +4316,9 @@ OpcUa_XmlSchema_PubSubConnectionDataType_DictionaryFragment,16070,Variable OpcUa_XmlSchema_ConnectionTransportDataType,16071,Variable OpcUa_XmlSchema_ConnectionTransportDataType_DataTypeVersion,16072,Variable OpcUa_XmlSchema_ConnectionTransportDataType_DictionaryFragment,16073,Variable +ServerConfiguration_ConfigurationFile_Read,16074,Method +ServerConfiguration_ConfigurationFile_Read_InputArguments,16075,Variable +ServerConfiguration_ConfigurationFile_Read_OutputArguments,16076,Variable OpcUa_XmlSchema_ReaderGroupTransportDataType,16077,Variable OpcUa_XmlSchema_ReaderGroupTransportDataType_DataTypeVersion,16078,Variable OpcUa_XmlSchema_ReaderGroupTransportDataType_DictionaryFragment,16079,Variable @@ -4259,6 +4343,9 @@ OpcUa_XmlSchema_TargetVariablesDataType_DictionaryFragment,16097,Variable OpcUa_XmlSchema_SubscribedDataSetMirrorDataType,16098,Variable OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DataTypeVersion,16099,Variable OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DictionaryFragment,16100,Variable +ServerConfiguration_ConfigurationFile_Write,16101,Method +ServerConfiguration_ConfigurationFile_Write_InputArguments,16102,Variable +ServerConfiguration_ConfigurationFile_GetPosition,16103,Method OpcUa_XmlSchema_UadpWriterGroupMessageDataType,16104,Variable OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DataTypeVersion,16105,Variable OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DictionaryFragment,16106,Variable @@ -4277,6 +4364,9 @@ OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DictionaryFragment,16118,Variab OpcUa_XmlSchema_JsonDataSetReaderMessageDataType,16119,Variable OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DataTypeVersion,16120,Variable OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DictionaryFragment,16121,Variable +ServerConfiguration_ConfigurationFile_GetPosition_InputArguments,16122,Variable +ServerConfiguration_ConfigurationFile_GetPosition_OutputArguments,16123,Variable +ServerConfiguration_ConfigurationFile_SetPosition,16124,Method OpcUa_XmlSchema_BrokerWriterGroupTransportDataType,16125,Variable RolePermissionType_Encoding_DefaultXml,16126,Object OpcUa_XmlSchema_RolePermissionType,16127,Variable @@ -4312,6 +4402,7 @@ DataSetWriterDataType_Encoding_DefaultJson,16156,Object DataSetWriterTransportDataType_Encoding_DefaultJson,16157,Object DataSetWriterMessageDataType_Encoding_DefaultJson,16158,Object PubSubGroupDataType_Encoding_DefaultJson,16159,Object +ServerConfiguration_ConfigurationFile_SetPosition_InputArguments,16160,Variable WriterGroupTransportDataType_Encoding_DefaultJson,16161,Object RoleSetType_RoleName_Placeholder_Identities,16162,Variable RoleSetType_RoleName_Placeholder_Applications,16163,Variable @@ -4434,6 +4525,7 @@ WellKnownRole_ConfigureAdmin_RemoveEndpoint_InputArguments,16279,Variable WriterGroupMessageDataType_Encoding_DefaultJson,16280,Object PubSubConnectionDataType_Encoding_DefaultJson,16281,Object ConnectionTransportDataType_Encoding_DefaultJson,16282,Object +ServerConfiguration_ConfigurationFile_LastUpdateTime,16283,Variable ReaderGroupTransportDataType_Encoding_DefaultJson,16284,Object ReaderGroupMessageDataType_Encoding_DefaultJson,16285,Object DataSetReaderDataType_Encoding_DefaultJson,16286,Object @@ -4456,6 +4548,7 @@ Server_ServerCapabilities_RoleSet_AddRole_InputArguments,16302,Variable Server_ServerCapabilities_RoleSet_AddRole_OutputArguments,16303,Variable Server_ServerCapabilities_RoleSet_RemoveRole,16304,Method Server_ServerCapabilities_RoleSet_RemoveRole_InputArguments,16305,Variable +ServerConfiguration_ConfigurationFile_CurrentVersion,16306,Variable AudioDataType,16307,DataType SubscribedDataSetDataType_Encoding_DefaultJson,16308,Object SelectionListType,16309,VariableType @@ -4464,7 +4557,38 @@ SubscribedDataSetMirrorDataType_Encoding_DefaultJson,16311,Object SelectionListType_RestrictToList,16312,Variable AdditionalParametersType,16313,DataType FileSystem,16314,Object +ServerConfiguration_ConfigurationFile_ActivityTimeout,16315,Variable +ServerConfiguration_ConfigurationFile_SupportedDataType,16316,Variable +ServerConfiguration_ConfigurationFile_CloseAndUpdate,16317,Method +ServerConfiguration_ConfigurationFile_CloseAndUpdate_InputArguments,16318,Variable +ServerConfiguration_ConfigurationFile_CloseAndUpdate_OutputArguments,16319,Variable +ServerConfiguration_ConfigurationFile_ConfirmUpdate,16320,Method +ServerConfiguration_ConfigurationFile_ConfirmUpdate_InputArguments,16321,Variable UadpWriterGroupMessageDataType_Encoding_DefaultJson,16323,Object +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile,16324,Object +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Size,16325,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Writable,16326,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserWritable,16327,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_OpenCount,16328,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MimeType,16329,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxByteStringLength,16330,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_LastModifiedTime,16331,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open,16332,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments,16333,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments,16334,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close,16335,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments,16336,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read,16337,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments,16338,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments,16339,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write,16340,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments,16341,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition,16342,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments,16343,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments,16344,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition,16345,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments,16346,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime,16347,Variable FileSystem_CreateDirectory,16348,Method FileSystem_CreateDirectory_InputArguments,16349,Variable FileSystem_CreateDirectory_OutputArguments,16350,Variable @@ -4482,6 +4606,12 @@ HasAlarmSuppressionGroup,16361,ReferenceType AlarmGroupMember,16362,ReferenceType ConditionType_ConditionSubClassId,16363,Variable ConditionType_ConditionSubClassName,16364,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion,16365,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout,16366,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType,16367,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate,16368,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments,16369,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments,16370,Variable AlarmConditionType_OutOfServiceState,16371,Variable AlarmConditionType_OutOfServiceState_Id,16372,Variable AlarmConditionType_OutOfServiceState_Name,16373,Variable @@ -4634,6 +4764,7 @@ AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedOrShelved,16519,Vari AlarmGroupType_AlarmConditionInstance_Placeholder_MaxTimeShelved,16520,Variable AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleEnabled,16521,Variable AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound,16522,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate,16523,Method BrokerWriterGroupTransportDataType_Encoding_DefaultJson,16524,Object BrokerDataSetWriterTransportDataType_Encoding_DefaultJson,16525,Object BrokerDataSetReaderTransportDataType_Encoding_DefaultJson,16526,Object @@ -4646,25 +4777,131 @@ AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmRepeatCount,16532,Varia AlarmGroupType_AlarmConditionInstance_Placeholder_Silence,16533,Method AlarmGroupType_AlarmConditionInstance_Placeholder_Suppress,16534,Method PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup,16535,Method +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments,16536,Variable +BaseConfigurationDataType_Encoding_DefaultBinary,16538,Object +BaseConfigurationRecordDataType_Encoding_DefaultBinary,16539,Object +CertificateGroupDataType_Encoding_DefaultBinary,16540,Object +ConfigurationUpdateTargetType_Encoding_DefaultBinary,16541,Object +ApplicationConfigurationDataType_Encoding_DefaultBinary,16542,Object +ApplicationIdentityDataType_Encoding_DefaultBinary,16543,Object +EndpointDataType_Encoding_DefaultBinary,16544,Object +ServerEndpointDataType_Encoding_DefaultBinary,16545,Object +SecuritySettingsDataType_Encoding_DefaultBinary,16546,Object +UserTokenSettingsDataType_Encoding_DefaultBinary,16547,Object +OpcUa_BinarySchema_BaseConfigurationDataType,16548,Variable +OpcUa_BinarySchema_BaseConfigurationDataType_DataTypeVersion,16549,Variable +OpcUa_BinarySchema_BaseConfigurationDataType_DictionaryFragment,16550,Variable +OpcUa_BinarySchema_BaseConfigurationRecordDataType,16551,Variable +OpcUa_BinarySchema_BaseConfigurationRecordDataType_DataTypeVersion,16552,Variable +OpcUa_BinarySchema_BaseConfigurationRecordDataType_DictionaryFragment,16553,Variable +OpcUa_BinarySchema_CertificateGroupDataType,16554,Variable +OpcUa_BinarySchema_CertificateGroupDataType_DataTypeVersion,16555,Variable +OpcUa_BinarySchema_CertificateGroupDataType_DictionaryFragment,16556,Variable +OpcUa_BinarySchema_ConfigurationUpdateTargetType,16557,Variable PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_InputArguments,16558,Variable PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_OutputArguments,16559,Variable PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup,16560,Method PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_InputArguments,16561,Variable +OpcUa_BinarySchema_ConfigurationUpdateTargetType_DataTypeVersion,16562,Variable +OpcUa_BinarySchema_ConfigurationUpdateTargetType_DictionaryFragment,16563,Variable +OpcUa_BinarySchema_ApplicationConfigurationDataType,16564,Variable +OpcUa_BinarySchema_ApplicationConfigurationDataType_DataTypeVersion,16565,Variable +OpcUa_BinarySchema_ApplicationConfigurationDataType_DictionaryFragment,16566,Variable +OpcUa_BinarySchema_ApplicationIdentityDataType,16567,Variable +OpcUa_BinarySchema_ApplicationIdentityDataType_DataTypeVersion,16568,Variable +OpcUa_BinarySchema_ApplicationIdentityDataType_DictionaryFragment,16569,Variable +OpcUa_BinarySchema_EndpointDataType,16570,Variable PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_OutputArguments,16571,Variable LimitAlarmType_BaseHighHighLimit,16572,Variable LimitAlarmType_BaseHighLimit,16573,Variable LimitAlarmType_BaseLowLimit,16574,Variable LimitAlarmType_BaseLowLowLimit,16575,Variable +OpcUa_BinarySchema_EndpointDataType_DataTypeVersion,16576,Variable +OpcUa_BinarySchema_EndpointDataType_DictionaryFragment,16577,Variable +OpcUa_BinarySchema_ServerEndpointDataType,16578,Variable +OpcUa_BinarySchema_ServerEndpointDataType_DataTypeVersion,16579,Variable +OpcUa_BinarySchema_ServerEndpointDataType_DictionaryFragment,16580,Variable +OpcUa_BinarySchema_SecuritySettingsDataType,16581,Variable +OpcUa_BinarySchema_SecuritySettingsDataType_DataTypeVersion,16582,Variable +OpcUa_BinarySchema_SecuritySettingsDataType_DictionaryFragment,16583,Variable +OpcUa_BinarySchema_UserTokenSettingsDataType,16584,Variable +OpcUa_BinarySchema_UserTokenSettingsDataType_DataTypeVersion,16585,Variable +OpcUa_BinarySchema_UserTokenSettingsDataType_DictionaryFragment,16586,Variable +BaseConfigurationDataType_Encoding_DefaultXml,16587,Object +BaseConfigurationRecordDataType_Encoding_DefaultXml,16588,Object +CertificateGroupDataType_Encoding_DefaultXml,16589,Object +ConfigurationUpdateTargetType_Encoding_DefaultXml,16590,Object +ApplicationConfigurationDataType_Encoding_DefaultXml,16591,Object +ApplicationIdentityDataType_Encoding_DefaultXml,16592,Object +EndpointDataType_Encoding_DefaultXml,16593,Object +ServerEndpointDataType_Encoding_DefaultXml,16594,Object +SecuritySettingsDataType_Encoding_DefaultXml,16595,Object +UserTokenSettingsDataType_Encoding_DefaultXml,16596,Object +OpcUa_XmlSchema_BaseConfigurationDataType,16597,Variable PublishSubscribeType_AddConnection,16598,Method PublishSubscribeType_AddConnection_InputArguments,16599,Variable PublishSubscribeType_AddConnection_OutputArguments,16600,Variable PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate,16601,Method +OpcUa_XmlSchema_BaseConfigurationDataType_DataTypeVersion,16602,Variable +OpcUa_XmlSchema_BaseConfigurationDataType_DictionaryFragment,16603,Variable +OpcUa_XmlSchema_BaseConfigurationRecordDataType,16604,Variable +OpcUa_XmlSchema_BaseConfigurationRecordDataType_DataTypeVersion,16605,Variable +OpcUa_XmlSchema_BaseConfigurationRecordDataType_DictionaryFragment,16606,Variable +OpcUa_XmlSchema_CertificateGroupDataType,16607,Variable +OpcUa_XmlSchema_CertificateGroupDataType_DataTypeVersion,16608,Variable +OpcUa_XmlSchema_CertificateGroupDataType_DictionaryFragment,16609,Variable +OpcUa_XmlSchema_ConfigurationUpdateTargetType,16610,Variable PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments,16611,Variable +OpcUa_XmlSchema_ConfigurationUpdateTargetType_DataTypeVersion,16612,Variable +OpcUa_XmlSchema_ConfigurationUpdateTargetType_DictionaryFragment,16613,Variable +OpcUa_XmlSchema_ApplicationConfigurationDataType,16614,Variable +OpcUa_XmlSchema_ApplicationConfigurationDataType_DataTypeVersion,16615,Variable +OpcUa_XmlSchema_ApplicationConfigurationDataType_DictionaryFragment,16616,Variable +OpcUa_XmlSchema_ApplicationIdentityDataType,16617,Variable +OpcUa_XmlSchema_ApplicationIdentityDataType_DataTypeVersion,16618,Variable +OpcUa_XmlSchema_ApplicationIdentityDataType_DictionaryFragment,16619,Variable +OpcUa_XmlSchema_EndpointDataType,16620,Variable +OpcUa_XmlSchema_EndpointDataType_DataTypeVersion,16621,Variable +OpcUa_XmlSchema_EndpointDataType_DictionaryFragment,16622,Variable +OpcUa_XmlSchema_ServerEndpointDataType,16623,Variable +OpcUa_XmlSchema_ServerEndpointDataType_DataTypeVersion,16624,Variable +OpcUa_XmlSchema_ServerEndpointDataType_DictionaryFragment,16625,Variable +OpcUa_XmlSchema_SecuritySettingsDataType,16626,Variable +OpcUa_XmlSchema_SecuritySettingsDataType_DataTypeVersion,16627,Variable +OpcUa_XmlSchema_SecuritySettingsDataType_DictionaryFragment,16628,Variable +OpcUa_XmlSchema_UserTokenSettingsDataType,16629,Variable +OpcUa_XmlSchema_UserTokenSettingsDataType_DataTypeVersion,16630,Variable +OpcUa_XmlSchema_UserTokenSettingsDataType_DictionaryFragment,16631,Variable +BaseConfigurationDataType_Encoding_DefaultJson,16632,Object +BaseConfigurationRecordDataType_Encoding_DefaultJson,16633,Object +CertificateGroupDataType_Encoding_DefaultJson,16634,Object +ConfigurationUpdateTargetType_Encoding_DefaultJson,16635,Object +ApplicationConfigurationDataType_Encoding_DefaultJson,16636,Object +ApplicationIdentityDataType_Encoding_DefaultJson,16637,Object PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments,16638,Variable PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate,16639,Method PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_InputArguments,16640,Variable PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments,16641,Variable +EndpointDataType_Encoding_DefaultJson,16642,Object +ServerEndpointDataType_Encoding_DefaultJson,16643,Object +SecuritySettingsDataType_Encoding_DefaultJson,16644,Object +UserTokenSettingsDataType_Encoding_DefaultJson,16645,Object +ServerConfigurationType_ConfigurationFile_AvailableNetworks,16646,Variable +ServerConfigurationType_ConfigurationFile_AvailablePorts,16647,Variable +ServerConfigurationType_ConfigurationFile_SecurityPolicyUris,16648,Variable +ServerConfigurationType_ConfigurationFile_UserTokenTypes,16649,Variable +ServerConfigurationType_ConfigurationFile_CertificateTypes,16650,Variable PublishSubscribeType_PublishedDataSets_AddDataSetFolder,16651,Method +ServerConfiguration_ConfigurationFile_AvailableNetworks,16652,Variable +ServerConfiguration_ConfigurationFile_AvailablePorts,16653,Variable +ServerConfiguration_ConfigurationFile_SecurityPolicyUris,16654,Variable +ServerConfiguration_ConfigurationFile_UserTokenTypes,16655,Variable +ServerConfiguration_ConfigurationFile_CertificateTypes,16656,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks,16657,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts,16658,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris,16659,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes,16660,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes,16661,Variable ApplicationConfigurationFolderType,16662,ObjectType ApplicationConfigurationFolderType_ApplicationName_Placeholder,16663,Object PublishSubscribeType_PublishedDataSets_AddDataSetFolder_InputArguments,16678,Variable @@ -6520,6 +6757,43 @@ ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagno ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists,18551,Variable ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups,18552,Variable ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors,18553,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile,18554,Object +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Size,18555,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Writable,18556,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserWritable,18557,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_OpenCount,18558,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MimeType,18559,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxByteStringLength,18560,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_LastModifiedTime,18561,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open,18562,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments,18563,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments,18564,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close,18565,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments,18566,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read,18567,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments,18568,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments,18569,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write,18570,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments,18571,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition,18572,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments,18573,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments,18574,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition,18575,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments,18576,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime,18577,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion,18578,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout,18579,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType,18580,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate,18581,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments,18582,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments,18583,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate,18584,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments,18585,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks,18587,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts,18588,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris,18589,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes,18590,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes,18591,Variable ApplicationConfigurationFolderType_ApplicationName_Placeholder_Enabled,18592,Variable ActionTargetDataType,18593,DataType PublishedActionDataType,18594,DataType @@ -7251,6 +7525,101 @@ JsonActionResponderMessage,19319,DataType JsonActionNetworkMessage,19320,DataType JsonActionRequestMessage,19321,DataType JsonActionResponseMessage,19322,DataType +UserCertificateType,19323,ObjectType +TlsCertificateType,19324,ObjectType +TlsServerCertificateType,19325,ObjectType +TlsClientCertificateType,19326,ObjectType +CreateSelfSignedCertificateMethodType,19327,Method +CreateSelfSignedCertificateMethodType_InputArguments,19328,Variable +CreateSelfSignedCertificateMethodType_OutputArguments,19329,Variable +DeleteCertificateMethodType,19330,Method +DeleteCertificateMethodType_InputArguments,19331,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate,19332,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments,19333,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments,19334,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_DeleteCertificate,19335,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_DeleteCertificate_InputArguments,19336,Variable +ServerConfigurationType_CreateSelfSignedCertificate,19337,Method +ServerConfigurationType_CreateSelfSignedCertificate_InputArguments,19338,Variable +ServerConfigurationType_CreateSelfSignedCertificate_OutputArguments,19339,Variable +ServerConfigurationType_DeleteCertificate,19340,Method +ServerConfigurationType_DeleteCertificate_InputArguments,19341,Variable +ServerConfiguration_CreateSelfSignedCertificate,19342,Method +ServerConfiguration_CreateSelfSignedCertificate_InputArguments,19343,Variable +ServerConfiguration_CreateSelfSignedCertificate_OutputArguments,19344,Variable +ServerConfiguration_DeleteCertificate,19345,Method +ServerConfiguration_DeleteCertificate_InputArguments,19346,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate,19347,Method +ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments,19348,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments,19349,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_DeleteCertificate,19350,Method +ProvisionableDeviceType_ApplicationName_Placeholder_DeleteCertificate_InputArguments,19351,Variable +LogObjectType,19352,ObjectType +LogObjectType_GetRecords,19353,Method +LogObjectType_GetRecords_InputArguments,19354,Variable +LogObjectType_GetRecords_OutputArguments,19355,Variable +LogObjectType_MaxRecords,19356,Variable +LogObjectType_MaxStorageDuration,19357,Variable +GetRecordsMethodType,19358,Method +GetRecordsMethodType_InputArguments,19359,Variable +GetRecordsMethodType_OutputArguments,19360,Variable +LogRecord,19361,DataType +BaseLogEventType,19362,ObjectType +BaseLogEventType_ConditionClassId,19363,Variable +BaseLogEventType_ConditionClassName,19364,Variable +BaseLogEventType_ErrorCode,19365,Variable +BaseLogEventType_ErrorCodeNode,19366,Variable +LogOverflowEventType,19369,ObjectType +LogEntryConditionClassType,19370,ObjectType +ServerLog,19372,Object +ServerLog_GetRecords,19373,Method +ServerLog_GetRecords_InputArguments,19374,Variable +ServerLog_GetRecords_OutputArguments,19375,Variable +ServerLog_MaxRecords,19376,Variable +ServerLog_MaxStorageDuration,19377,Variable +Logs,19378,Object +LogRecord_Encoding_DefaultBinary,19379,Object +OpcUa_BinarySchema_LogRecord,19380,Variable +OpcUa_BinarySchema_LogRecord_DataTypeVersion,19381,Variable +OpcUa_BinarySchema_LogRecord_DictionaryFragment,19382,Variable +LogRecord_Encoding_DefaultXml,19383,Object +OpcUa_XmlSchema_LogRecord,19384,Variable +OpcUa_XmlSchema_LogRecord_DataTypeVersion,19385,Variable +OpcUa_XmlSchema_LogRecord_DictionaryFragment,19386,Variable +LogRecord_Encoding_DefaultJson,19387,Object +CertificateGroupType_Purpose,19398,Variable +CertificateGroupFolderType_DefaultApplicationGroup_Purpose,19399,Variable +CertificateGroupFolderType_DefaultHttpsGroup_Purpose,19400,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_Purpose,19401,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_Purpose,19402,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_Purpose,19403,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_Purpose,19404,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_Purpose,19405,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints,19406,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups,19407,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes,19408,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials,19409,Object +ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential,19410,Method +ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments,19411,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments,19412,Variable +ApplicationConfigurationFolderType_ApplicationName_Placeholder_AuthorizationServices,19413,Object +ApplicationConfigurationFileType_MaxEndpoints,19414,Variable +ApplicationConfigurationFileType_MaxCertificateGroups,19415,Variable +ApplicationConfigurationFileType_CertificateGroupPurposes,19416,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_Purpose,19417,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_Purpose,19418,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_Purpose,19419,Variable +ServerConfigurationType_ConfigurationFile_MaxEndpoints,19420,Variable +ServerConfigurationType_ConfigurationFile_MaxCertificateGroups,19421,Variable +ServerConfigurationType_ConfigurationFile_CertificateGroupPurposes,19422,Variable +ApplicationConfigurationType_KeyCredentials,19423,Object +ApplicationConfigurationType_KeyCredentials_CreateCredential,19424,Method +ApplicationConfigurationType_KeyCredentials_CreateCredential_InputArguments,19425,Variable +ApplicationConfigurationType_KeyCredentials_CreateCredential_OutputArguments,19426,Variable +ApplicationConfigurationType_AuthorizationServices,19427,Object +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_Purpose,19428,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_Purpose,19429,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_Purpose,19430,Variable TestUnion,19431,DataType TestOptionalFields,19432,DataType TestOptionSet,19433,DataType @@ -7261,6 +7630,10 @@ TestOptionalFields_Encoding_DefaultXml,19438,Object TestUnion_Encoding_DefaultJson,19439,Object TestOptionalFields_Encoding_DefaultJson,19440,Object TestOptionSet_OptionSetValues,19441,Variable +ServerConfiguration_ConfigurationFile_MaxEndpoints,19442,Variable +ServerConfiguration_ConfigurationFile_MaxCertificateGroups,19443,Variable +ServerConfiguration_ConfigurationFile_CertificateGroupPurposes,19444,Variable +AuthorizationServiceConfigurationDataType,19445,DataType TrustListOutOfDateAlarmType_TrustListId,19446,Variable TrustListOutOfDateAlarmType_LastUpdateTime,19447,Variable TrustListOutOfDateAlarmType_UpdateFrequency,19448,Variable @@ -7548,6 +7921,50 @@ PubSubDiagnosticsCounterType_TimeFirstChange,19729,Variable PubSubDiagnosticsCounterClassification,19730,DataType PubSubDiagnosticsCounterClassification_EnumStrings,19731,Variable PubSubDiagnosticsRootType,19732,ObjectType +ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_Purpose,19733,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_Purpose,19734,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_Purpose,19735,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints,19736,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups,19737,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes,19738,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials,19739,Object +ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential,19740,Method +ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments,19741,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments,19742,Variable +ProvisionableDeviceType_ApplicationName_Placeholder_AuthorizationServices,19743,Object +LogObjectType_MinimumSeverity,19744,Variable +LogRecordsDataType,19745,DataType +SpanContextDataType,19746,DataType +TraceContextDataType,19747,DataType +NameValuePair,19748,DataType +LogRecordMask,19749,DataType +LogRecordMask_OptionSetValues,19750,Variable +ServerLog_MinimumSeverity,19751,Variable +AuthorizationServiceConfigurationDataType_Encoding_DefaultBinary,19752,Object +LogRecordsDataType_Encoding_DefaultBinary,19753,Object +SpanContextDataType_Encoding_DefaultBinary,19754,Object +TraceContextDataType_Encoding_DefaultBinary,19755,Object +NameValuePair_Encoding_DefaultBinary,19756,Object +OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType,19757,Variable +OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType_DataTypeVersion,19758,Variable +OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType_DictionaryFragment,19759,Variable +OpcUa_BinarySchema_LogRecordsDataType,19760,Variable +OpcUa_BinarySchema_LogRecordsDataType_DataTypeVersion,19761,Variable +OpcUa_BinarySchema_LogRecordsDataType_DictionaryFragment,19762,Variable +OpcUa_BinarySchema_SpanContextDataType,19763,Variable +OpcUa_BinarySchema_SpanContextDataType_DataTypeVersion,19764,Variable +OpcUa_BinarySchema_SpanContextDataType_DictionaryFragment,19765,Variable +OpcUa_BinarySchema_TraceContextDataType,19766,Variable +OpcUa_BinarySchema_TraceContextDataType_DataTypeVersion,19767,Variable +OpcUa_BinarySchema_TraceContextDataType_DictionaryFragment,19768,Variable +OpcUa_BinarySchema_NameValuePair,19769,Variable +OpcUa_BinarySchema_NameValuePair_DataTypeVersion,19770,Variable +OpcUa_BinarySchema_NameValuePair_DictionaryFragment,19771,Variable +AuthorizationServiceConfigurationDataType_Encoding_DefaultXml,19772,Object +LogRecordsDataType_Encoding_DefaultXml,19773,Object +SpanContextDataType_Encoding_DefaultXml,19774,Object +TraceContextDataType_Encoding_DefaultXml,19775,Object +NameValuePair_Encoding_DefaultXml,19776,Object PubSubDiagnosticsRootType_LiveValues,19777,Object PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters,19778,Variable PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,19779,Variable @@ -7558,6 +7975,26 @@ PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel, PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders,19784,Variable PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,19785,Variable PubSubDiagnosticsConnectionType,19786,ObjectType +OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType,19787,Variable +OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType_DataTypeVersion,19788,Variable +OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType_DictionaryFragment,19789,Variable +OpcUa_XmlSchema_LogRecordsDataType,19790,Variable +OpcUa_XmlSchema_LogRecordsDataType_DataTypeVersion,19791,Variable +OpcUa_XmlSchema_LogRecordsDataType_DictionaryFragment,19792,Variable +OpcUa_XmlSchema_SpanContextDataType,19793,Variable +OpcUa_XmlSchema_SpanContextDataType_DataTypeVersion,19794,Variable +OpcUa_XmlSchema_SpanContextDataType_DictionaryFragment,19795,Variable +OpcUa_XmlSchema_TraceContextDataType,19796,Variable +OpcUa_XmlSchema_TraceContextDataType_DataTypeVersion,19797,Variable +OpcUa_XmlSchema_TraceContextDataType_DictionaryFragment,19798,Variable +OpcUa_XmlSchema_NameValuePair,19799,Variable +OpcUa_XmlSchema_NameValuePair_DataTypeVersion,19800,Variable +OpcUa_XmlSchema_NameValuePair_DictionaryFragment,19801,Variable +AuthorizationServiceConfigurationDataType_Encoding_DefaultJson,19802,Object +LogRecordsDataType_Encoding_DefaultJson,19803,Object +SpanContextDataType_Encoding_DefaultJson,19804,Object +TraceContextDataType_Encoding_DefaultJson,19805,Object +NameValuePair_Encoding_DefaultJson,19806,Object PubSubDiagnosticsConnectionType_LiveValues,19831,Object PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress,19832,Variable PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress_DiagnosticsLevel,19833,Variable diff --git a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.NodeSet2.xml b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.NodeSet2.xml index f7a70d8f08..527b4b2d44 100644 --- a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.NodeSet2.xml +++ b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.NodeSet2.xml @@ -28,13 +28,13 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + http://opcfoundation.org/UA/GDS/ - - + + @@ -127,7 +127,7 @@ ns=1;i=721 - 1.05.04 + 1.05.05 @@ -137,7 +137,7 @@ ns=1;i=721 - 2025-01-08T00:00:00Z + 2025-06-30T00:00:00Z @@ -212,7 +212,7 @@ ns=1;i=721 - 1.5.4 + 1.5.5 @@ -1749,7 +1749,8 @@ DirectoryType - https://reference.opcfoundation.org/GDS/docs/6.5.11 + GDS Application Directory + https://reference.opcfoundation.org/GDS/docs/6.5.3 ns=1;i=14 ns=1;i=15 @@ -1842,6 +1843,7 @@ ns=1;i=19 ns=1;i=20 + ns=1;i=26 i=78 ns=1;i=13 @@ -2392,8 +2394,8 @@ CertificateDirectoryType - GDS Certificate Manager CheckRevocationStatus - https://reference.opcfoundation.org/GDS/docs/7.9.11 + GDS Certificate Manager Pull Model + https://reference.opcfoundation.org/GDS/docs/7.9.2 ns=1;i=511 ns=1;i=79 @@ -2412,7 +2414,6 @@ CertificateGroups ns=1;i=512 - i=13916 i=13813 i=78 ns=1;i=63 @@ -3963,6 +3964,14 @@ ns=1;i=109 + + CertificateRevokedAuditEventType + GDS Certificate Manager Pull Model + https://reference.opcfoundation.org/GDS/docs/7.9.14 + + i=2127 + + KeyCredentialManagementFolderType Pull Model for KeyCredential Service @@ -4262,7 +4271,8 @@ KeyCredentialServiceType - https://reference.opcfoundation.org/GDS/docs/8.5.7 + Pull Model for KeyCredential Service + https://reference.opcfoundation.org/GDS/docs/8.5.4 ns=1;i=1021 ns=1;i=1022 @@ -4724,7 +4734,8 @@ AuthorizationServiceType - https://reference.opcfoundation.org/GDS/docs/9.6.6 + GDS Authorization Service Server + https://reference.opcfoundation.org/GDS/docs/9.6.4 ns=1;i=1003 ns=1;i=968 @@ -5011,10 +5022,11 @@ ns=1;i=147 ns=1;i=148 + ns=1;i=26 ns=1;i=141 - i=15656 + i=15644 ns=1;i=1661 @@ -5025,7 +5037,7 @@ ns=1;i=146 - i=15656 + i=15644 ns=1;i=1661 @@ -5055,7 +5067,7 @@ ns=1;i=146 - i=15656 + i=15644 ns=1;i=1661 @@ -5085,7 +5097,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1661 @@ -5096,7 +5108,7 @@ ns=1;i=200 - i=15656 + i=15644 ns=1;i=1661 @@ -5126,7 +5138,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1661 @@ -5137,7 +5149,7 @@ ns=1;i=149 - i=15656 + i=15644 ns=1;i=1661 @@ -7418,7 +7430,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7429,7 +7441,7 @@ ns=1;i=157 - i=15656 + i=15644 ns=1;i=1680 @@ -7504,7 +7516,7 @@ ns=1;i=157 - i=15656 + i=15644 ns=1;i=1680 @@ -7535,7 +7547,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7546,7 +7558,7 @@ ns=1;i=154 - i=15656 + i=15644 ns=1;i=1680 @@ -7668,7 +7680,7 @@ ns=1;i=154 - i=15656 + i=15644 ns=1;i=1680 @@ -7699,7 +7711,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7710,7 +7722,7 @@ ns=1;i=163 - i=15656 + i=15644 ns=1;i=1680 @@ -7755,7 +7767,7 @@ ns=1;i=163 - i=15656 + i=15644 ns=1;i=1680 @@ -7818,7 +7830,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7829,7 +7841,7 @@ ns=1;i=508 - i=15656 + i=15644 ns=1;i=1680 @@ -7859,7 +7871,7 @@ ns=1;i=508 - i=15656 + i=15644 ns=1;i=1680 @@ -7892,7 +7904,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7903,7 +7915,7 @@ ns=1;i=204 - i=15656 + i=15644 ns=1;i=1680 @@ -7948,7 +7960,7 @@ ns=1;i=204 - i=15656 + i=15644 ns=1;i=1680 @@ -7979,7 +7991,7 @@ ns=1;i=141 - i=15656 + i=15644 ns=1;i=1680 @@ -7990,7 +8002,7 @@ ns=1;i=225 - i=15656 + i=15644 ns=1;i=1680 @@ -8050,7 +8062,7 @@ ns=1;i=225 - i=15656 + i=15644 ns=1;i=1680 @@ -8170,8 +8182,8 @@ c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy9UeXBlcy54 c2QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy9U eXBlcy54c2QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIg0KPg0KICA8eHM6YW5u b3RhdGlvbj4NCiAgICA8eHM6YXBwaW5mbz4NCiAgICAgIDx1YTpNb2RlbCBNb2RlbFVyaT0iaHR0 -cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy8iIFZlcnNpb249IjEuMDUuMDQiIFB1YmxpY2F0 -aW9uRGF0ZT0iMjAyNS0wMS0wOFQwMDowMDowMFoiIC8+DQogICAgPC94czphcHBpbmZvPg0KICA8 +cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0dEUy8iIFZlcnNpb249IjEuMDUuMDUiIFB1YmxpY2F0 +aW9uRGF0ZT0iMjAyNS0wNi0zMFQwMDowMDowMFoiIC8+DQogICAgPC94czphcHBpbmZvPg0KICA8 L3hzOmFubm90YXRpb24+DQogIA0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2Zv dW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIiAvPg0KDQogIDx4czpjb21wbGV4VHlw ZSBuYW1lPSJBcHBsaWNhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog diff --git a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.Types.xsd b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.Types.xsd index 3cd1d122e2..84bbcfcb3c 100644 --- a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.Types.xsd +++ b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Gds.Types.xsd @@ -37,7 +37,7 @@ > - + diff --git a/Stack/Opc.Ua.Core/Schema/Opc.Ua.NodeSet2.xml b/Stack/Opc.Ua.Core/Schema/Opc.Ua.NodeSet2.xml index bdc1a5a491..c48d3b4943 100644 --- a/Stack/Opc.Ua.Core/Schema/Opc.Ua.NodeSet2.xml +++ b/Stack/Opc.Ua.Core/Schema/Opc.Ua.NodeSet2.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -133,7 +133,7 @@ Enumeration Base Info Base Types - https://reference.opcfoundation.org/v105/Core/docs/Part22/5.3.1 + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.2.5 i=24 @@ -310,7 +310,7 @@ Structure Base Info Base Types - https://reference.opcfoundation.org/v105/Core/docs/Part22/5.3.2 + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.2.12 i=24 @@ -350,7 +350,7 @@ References Base Info Base Types - https://reference.opcfoundation.org/v105/Core/docs/Part11/5.3.1 + https://reference.opcfoundation.org/v105/Core/docs/Part5/11.1 @@ -846,7 +846,7 @@ Types The browse entry point when looking for types in the server address space. Base Info Core Types Folders - https://reference.opcfoundation.org/v105/Core/docs/Part14/9.1.3 + https://reference.opcfoundation.org/v105/Core/docs/Part5/8.2.5 i=84 i=61 @@ -975,7 +975,7 @@ i=15957 - 1.05.04 + 1.05.05 @@ -985,7 +985,7 @@ i=15957 - 2025-01-08T00:00:00Z + 2025-06-30T00:00:00Z @@ -1095,7 +1095,7 @@ i=15957 - 1.5.4 + 1.5.5 @@ -23728,9 +23728,10 @@ i=13599 i=13631 - i=23526 + i=19398 i=19450 i=20143 + i=23526 i=13225 i=58 @@ -24371,43 +24372,13 @@ i=12555 - - GetRejectedList - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.3/#7.8.3.2 - - i=23527 - i=80 - i=12555 - - - - OutputArguments + + Purpose i=68 - i=78 - i=23526 + i=80 + i=12555 - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - CertificateExpired @@ -25269,6 +25240,44 @@ i=20143 + + GetRejectedList + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.3/#7.8.3.2 + + i=23527 + i=80 + i=12555 + + + + OutputArguments + + i=68 + i=78 + i=23526 + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + CertificateGroupFolderType GDS Certificate Manager Pull Model @@ -27870,6 +27879,45 @@ i=13916 + + BaseConfigurationDataType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.4 + + i=22 + + + + + + + + BaseConfigurationRecordDataType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.5 + + i=22 + + + + + + + + CertificateGroupDataType + GDS Certificate Manager Pull Model + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.3/#7.8.3.4 + + i=15435 + + + + + + + + CertificateType GDS Certificate Manager Pull Model @@ -27897,6 +27945,42 @@ i=12556 + + UserCertificateType + GDS Certificate Manager Pull Model + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.4/#7.8.4.4 + + i=12556 + + + + TlsCertificateType + GDS Certificate Manager Pull Model + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.4/#7.8.4.5 + + i=12556 + + + + TlsServerCertificateType + GDS Certificate Manager Pull Model + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.4/#7.8.4.6 + + i=19324 + + + + TlsClientCertificateType + GDS Certificate Manager Pull Model + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.4/#7.8.4.7 + + i=19324 + + UserCredentialCertificateType @@ -27921,7 +28005,7 @@ i=12557 - + EccApplicationCertificateType GDS Certificate Manager Pull Model Push Model for Global Certificate and TrustList Management @@ -27984,6 +28068,382 @@ i=23537 + + ConfigurationFileType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.1 + + i=15438 + i=15439 + i=15503 + i=15504 + i=15508 + i=15505 + i=11575 + + + + LastUpdateTime + + i=68 + i=78 + i=15437 + + + + CurrentVersion + + i=68 + i=78 + i=15437 + + + + ActivityTimeout + + i=68 + i=78 + i=15437 + + + + SupportedDataType + + i=68 + i=78 + i=15437 + + + + ConfirmUpdate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.3 + + i=15511 + i=78 + i=15437 + + + + InputArguments + + i=68 + i=78 + i=15508 + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + CloseAndUpdate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.2 + + i=15506 + i=15507 + i=78 + i=15437 + + + + InputArguments + + i=68 + i=78 + i=15505 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + VersionToUpdate + + i=20998 + + -1 + + + + + + + i=297 + + + + Targets + + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 + + -1 + + + + + + + i=297 + + + + RestartDelayTime + + i=290 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=15505 + + + + + + i=297 + + + + UpdateResults + + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 + + -1 + + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + ConfigurationUpdateTargetType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.6 + + i=22 + + + + + + + + ConfigurationUpdateType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.7 + + i=15540 + i=29 + + + + The target is added. An error occurs if a name conflict occurs. + + + Existing records are updated. An error occurs if a name cannot be matched to an existing record. + + + Existing records are updated. New records are created if no match to an exising record. + + + Existing records are deleted. An error occurs if a name cannot be matched to an existing record. + + + + + EnumValues + + i=68 + i=15539 + + + + + + i=7616 + + + + 1 + + Insert + + + The target is added. An error occurs if a name conflict occurs. + + + + + + + i=7616 + + + + 2 + + Replace + + + Existing records are updated. An error occurs if a name cannot be matched to an existing record. + + + + + + + i=7616 + + + + 3 + + InsertOrReplace + + + Existing records are updated. New records are created if no match to an exising record. + + + + + + + i=7616 + + + + 4 + + Delete + + + Existing records are deleted. An error occurs if a name cannot be matched to an existing record. + + + + + + + + + ConfigurationUpdatedAuditEventType + Base Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.5/#7.8.5.8 + + i=15542 + i=15543 + i=2052 + + + + OldVersion + + i=68 + i=78 + i=15541 + + + + NewVersion + + i=68 + i=78 + i=15541 + + TrustListUpdateRequestedAuditEventType GDS Certificate Manager Pull Model @@ -28098,7 +28558,6 @@ <ApplicationName> - i=16707 i=18525 i=18526 i=18527 @@ -28110,12 +28569,380 @@ i=18539 i=18541 i=18544 + i=16707 i=18592 i=25731 i=11508 i=16662 + + ApplicationUri + + i=68 + i=78 + i=16663 + + + + ProductUri + + i=68 + i=78 + i=16663 + + + + ApplicationType + + i=68 + i=78 + i=16663 + + + + ServerCapabilities + + i=68 + i=78 + i=16663 + + + + SupportedPrivateKeyFormats + + i=68 + i=78 + i=16663 + + + + MaxTrustListSize + + i=68 + i=78 + i=16663 + + + + MulticastDnsEnabled + + i=68 + i=78 + i=16663 + + + + UpdateCertificate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.4 + + i=18534 + i=18535 + i=78 + i=16663 + + + + InputArguments + + i=68 + i=78 + i=18533 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=18533 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + ApplyChanges + Server PushManagement Transactions + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.8 + + i=78 + i=16663 + + + + CreateSigningRequest + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.9 + + i=18542 + i=18543 + i=78 + i=16663 + + + + InputArguments + + i=68 + i=78 + i=18541 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + RegeneratePrivateKey + + i=1 + + -1 + + + + + + + i=297 + + + + Nonce + + i=15 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=18541 + + + + + + i=297 + + + + CertificateRequest + + i=15 + + -1 + + + + + + + + + GetRejectedList + + i=18545 + i=78 + i=16663 + + + + OutputArguments + + i=68 + i=78 + i=18544 + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + CertificateGroups @@ -28771,228 +29598,327 @@ i=16708 - - ApplicationUri + + Enabled i=68 i=78 i=16663 - - ProductUri + + ManagedApplications + Managed Application Configuration + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.16 + + i=24226 + i=16662 + + + + ApplicationConfigurationDataType + Application Configuration Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.19 + + i=15434 + + + + + + + + + + + + + ApplicationConfigurationFileType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.20 + + i=15551 + i=15552 + i=19414 + i=19415 + i=15553 + i=15554 + i=15555 + i=19416 + i=15437 + + + + AvailableNetworks i=68 i=78 - i=16663 + i=15550 - - ApplicationType + + AvailablePorts i=68 i=78 - i=16663 + i=15550 - - ServerCapabilities + + MaxEndpoints i=68 i=78 - i=16663 + i=15550 - - SupportedPrivateKeyFormats + + MaxCertificateGroups i=68 i=78 - i=16663 + i=15550 - - MaxTrustListSize + + SecurityPolicyUris i=68 i=78 - i=16663 + i=15550 - - MulticastDnsEnabled + + UserTokenTypes i=68 i=78 - i=16663 + i=15550 - - UpdateCertificate - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.4 + + CertificateTypes - i=18534 - i=18535 + i=68 i=78 - i=16663 + i=15550 - - - InputArguments + + + CertificateGroupPurposes + Server ServerConfiguration CreateSelfSignedCertificate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.6 i=68 i=78 - i=18533 + i=15550 - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - - OutputArguments + + ApplicationIdentityDataType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.21 + + i=15435 + + + + + + + + + EndpointDataType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.22 + + i=15435 + + + + + + + + + ServerEndpointDataType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.23 + + i=15557 + + + + + + + + + + + SecuritySettingsDataType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.24 + + i=15435 + + + + + + + + + UserTokenSettingsDataType + Server Endpoint Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.25 + + i=15435 + + + + + + + + + + + + ServerConfigurationType + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.3 + + i=25696 + i=25724 + i=25697 + i=18660 + i=12708 + i=12583 + i=12584 + i=12585 + i=23593 + i=18661 + i=19308 + i=12616 + i=19337 + i=19340 + i=32296 + i=12734 + i=25698 + i=12731 + i=12775 + i=25699 + i=13950 + i=32299 + i=15564 + i=58 + + + + ApplicationUri + + i=68 + i=80 + i=12581 + + + + ProductUri + + i=68 + i=80 + i=12581 + + + + ApplicationType + + i=68 + i=80 + i=12581 + + + + ApplicationNames + + i=68 + i=80 + i=12581 + + + + ServerCapabilities i=68 i=78 - i=18533 + i=12581 - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - ApplyChanges - Server PushManagement Transactions - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.8 + + SupportedPrivateKeyFormats + i=68 i=78 - i=16663 + i=12581 - - - CreateSigningRequest - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.9 + + + MaxTrustListSize - i=18542 - i=18543 + i=68 i=78 - i=16663 + i=12581 + + + + MulticastDnsEnabled + + i=68 + i=78 + i=12581 + + + + HasSecureElement + + i=68 + i=80 + i=12581 + + + + SupportsTransactions + + i=68 + i=80 + i=12581 + + + + InApplicationSetup + + i=68 + i=80 + i=12581 + + + + UpdateCertificate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.5 + + i=12617 + i=12618 + i=78 + i=12581 - + InputArguments i=68 i=78 - i=18541 + i=12616 @@ -29032,9 +29958,9 @@ - SubjectName + Certificate - i=12 + i=15 -1 @@ -29047,12 +29973,14 @@ - RegeneratePrivateKey + IssuerCertificates - i=1 + i=15 - -1 - + 1 + + 0 + @@ -29062,34 +29990,22 @@ - Nonce + PrivateKeyFormat - i=15 + i=12 -1 - - - - - OutputArguments - - i=68 - i=78 - i=18541 - - - i=297 - CertificateRequest + PrivateKey i=15 @@ -29101,20 +30017,12 @@ - - GetRejectedList - - i=18545 - i=78 - i=16663 - - - + OutputArguments i=68 i=78 - i=18544 + i=12616 @@ -29124,155 +30032,35 @@ - Certificates + ApplyChangesRequired - i=15 + i=1 - 1 - - 0 - + -1 + - - Enabled - - i=68 - i=78 - i=16663 - - - - ManagedApplications - Managed Application Configuration - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.16 - - i=24226 - i=16662 - - - - ServerConfigurationType - Push Model for Global Certificate and TrustList Management - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.3 - - i=13950 - i=25696 - i=25724 - i=25697 - i=18660 - i=12708 - i=12583 - i=12584 - i=12585 - i=23593 - i=18661 - i=19308 - i=12616 - i=32296 - i=12734 - i=25698 - i=12731 - i=12775 - i=25699 - i=32299 - i=58 - - - - CertificateGroups + + CreateSelfSignedCertificate + Server ServerConfiguration CreateSelfSignedCertificate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.6 - i=13951 - i=13813 - i=78 + i=19338 + i=19339 + i=80 i=12581 - - - DefaultApplicationGroup - - i=13952 - i=13984 - i=13225 - i=12555 - i=78 - i=13950 - - - - TrustList - - i=13953 - i=13954 - i=13955 - i=13956 - i=13958 - i=13961 - i=13963 - i=13966 - i=13968 - i=13971 - i=13973 - i=13974 - i=13977 - i=13980 - i=13982 - i=12522 - i=78 - i=13951 - - - - Size - - i=68 - i=78 - i=13952 - - - - Writable - - i=68 - i=78 - i=13952 - - - - UserWritable - - i=68 - i=78 - i=13952 - - - - OpenCount - - i=68 - i=78 - i=13952 - - - - Open - - i=13959 - i=13960 - i=78 - i=13952 - - + InputArguments i=68 i=78 - i=13958 + i=19337 @@ -29282,107 +30070,88 @@ - Mode + CertificateGroupId - i=3 + i=17 -1 - - - - - OutputArguments - - i=68 - i=78 - i=13958 - - - i=297 - FileHandle + CertificateTypeId - i=7 + i=17 -1 - - - - - Close - - i=13962 - i=78 - i=13952 - - - - InputArguments - - i=68 - i=78 - i=13961 - - - i=297 - FileHandle + SubjectName - i=7 + i=12 -1 - - - - - Read - - i=13964 - i=13965 - i=78 - i=13952 - - - - InputArguments - - i=68 - i=78 - i=13963 - - - i=297 - FileHandle + DnsNames - i=7 + i=12 + + 1 + + 0 + + + + + + + i=297 + + + + IpAddresses + + i=12 + + 1 + + 0 + + + + + + + i=297 + + + + LifetimeInDays + + i=5 -1 @@ -29395,9 +30164,9 @@ - Length + KeySizeInBits - i=6 + i=5 -1 @@ -29407,12 +30176,12 @@ - + OutputArguments i=68 i=78 - i=13963 + i=19337 @@ -29422,7 +30191,7 @@ - Data + Certificate i=15 @@ -29434,20 +30203,22 @@ - - Write + + DeleteCertificate + Server ServerConfiguration DeleteCertificate + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.7 - i=13967 - i=78 - i=13952 + i=19341 + i=80 + i=12581 - + InputArguments i=68 i=78 - i=13966 + i=19340 @@ -29457,9 +30228,9 @@ - FileHandle + CertificateGroupId - i=7 + i=17 -1 @@ -29472,9 +30243,9 @@ - Data + CertificateTypeId - i=15 + i=17 -1 @@ -29484,21 +30255,23 @@ - - GetPosition + + GetCertificates + Server ServerConfiguration GetCertificates + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.8 - i=13969 - i=13970 - i=78 - i=13952 + i=32297 + i=32298 + i=80 + i=12581 - + InputArguments i=68 i=78 - i=13968 + i=32296 @@ -29508,9 +30281,9 @@ - FileHandle + CertificateGroupId - i=7 + i=17 -1 @@ -29520,12 +30293,12 @@ - + OutputArguments i=68 i=78 - i=13968 + i=32296 @@ -29535,47 +30308,14 @@ - Position + CertificateTypeIds - i=9 - - -1 - - - - - - - - - SetPosition - - i=13972 - i=78 - i=13952 - - - - InputArguments - - i=68 - i=78 - i=13971 - - - - - - i=297 - - - - FileHandle - - i=7 + i=17 - -1 - + 1 + + 0 + @@ -29585,41 +30325,54 @@ - Position + Certificates - i=9 + i=15 - -1 - + 1 + + 0 + - - LastUpdateTime + + ApplyChanges + Server PushManagement Transactions + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.9 - i=68 i=78 - i=13952 + i=12581 - - - OpenWithMasks + + + CancelChanges + Server ServerConfiguration Transactions + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.11 - i=13975 - i=13976 + i=80 + i=12581 + + + + CreateSigningRequest + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.10 + + i=12732 + i=12733 i=78 - i=13952 + i=12581 - + InputArguments i=68 i=78 - i=13974 + i=12731 @@ -29629,97 +30382,52 @@ - Masks + CertificateGroupId - i=7 + i=17 -1 - - - - - OutputArguments - - i=68 - i=78 - i=13974 - - - i=297 - FileHandle + CertificateTypeId - i=7 + i=17 -1 - - - - - CloseAndUpdate - - i=13978 - i=13979 - i=78 - i=13952 - - - - InputArguments - - i=68 - i=78 - i=13977 - - - i=297 - FileHandle + SubjectName - i=7 + i=12 -1 - - - - - OutputArguments - - i=68 - i=78 - i=13977 - - - i=297 - ApplyChangesRequired + RegeneratePrivateKey i=1 @@ -29728,33 +30436,13 @@ - - - - - AddCertificate - - i=13981 - i=78 - i=13952 - - - - InputArguments - - i=68 - i=78 - i=13980 - - - i=297 - Certificate + Nonce i=15 @@ -29763,15 +30451,27 @@ + + + + + OutputArguments + + i=68 + i=78 + i=12731 + + + i=297 - IsTrustedCertificate + CertificateRequest - i=1 + i=15 -1 @@ -29781,20 +30481,21 @@ - - RemoveCertificate + + GetRejectedList + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.12 - i=13983 + i=12776 i=78 - i=13952 + i=12581 - - InputArguments + + OutputArguments i=68 i=78 - i=13982 + i=12775 @@ -29804,145 +30505,119 @@ - Thumbprint - - i=12 - - -1 - - - - - - - i=297 - - - - IsTrustedCertificate + Certificates - i=1 + i=15 - -1 - + 1 + + 0 + - - CertificateTypes - - i=68 - i=78 - i=13951 - - - - ApplicationUri - - i=68 - i=80 - i=12581 - - - - ProductUri - - i=68 - i=80 - i=12581 - - - - ApplicationType - - i=68 - i=80 - i=12581 - - - - ApplicationNames + + ResetToServerDefaults + Server ServerConfiguration ResetToServerDefaults + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.13 - i=68 i=80 - i=12581 + i=12581 - - - ServerCapabilities + + + CertificateGroups - i=68 + i=13951 + i=13813 i=78 - i=12581 + i=12581 - - - SupportedPrivateKeyFormats + + + DefaultApplicationGroup - i=68 + i=13952 + i=13984 + i=13225 + i=12555 i=78 - i=12581 + i=13950 - - - MaxTrustListSize + + + TrustList - i=68 + i=13953 + i=13954 + i=13955 + i=13956 + i=13958 + i=13961 + i=13963 + i=13966 + i=13968 + i=13971 + i=13973 + i=13974 + i=13977 + i=13980 + i=13982 + i=12522 i=78 - i=12581 + i=13951 - - - MulticastDnsEnabled + + + Size i=68 i=78 - i=12581 + i=13952 - - HasSecureElement + + Writable i=68 - i=80 - i=12581 + i=78 + i=13952 - - SupportsTransactions + + UserWritable i=68 - i=80 - i=12581 + i=78 + i=13952 - - InApplicationSetup + + OpenCount i=68 - i=80 - i=12581 + i=78 + i=13952 - - UpdateCertificate - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.5 + + Open - i=12617 - i=12618 + i=13959 + i=13960 i=78 - i=12581 + i=13952 - + InputArguments i=68 i=78 - i=12616 + i=13958 @@ -29952,59 +30627,110 @@ - CertificateGroupId + Mode - i=17 + i=3 -1 + + + + + OutputArguments + + i=68 + i=78 + i=13958 + + + i=297 - CertificateTypeId + FileHandle - i=17 + i=7 -1 + + + + + Close + + i=13962 + i=78 + i=13952 + + + + InputArguments + + i=68 + i=78 + i=13961 + + + i=297 - Certificate + FileHandle - i=15 + i=7 -1 + + + + + Read + + i=13964 + i=13965 + i=78 + i=13952 + + + + InputArguments + + i=68 + i=78 + i=13963 + + + i=297 - IssuerCertificates + FileHandle - i=15 + i=7 - 1 - - 0 - + -1 + @@ -30014,22 +30740,34 @@ - PrivateKeyFormat + Length - i=12 + i=6 -1 + + + + + OutputArguments + + i=68 + i=78 + i=13963 + + + i=297 - PrivateKey + Data i=15 @@ -30041,12 +30779,20 @@ - - OutputArguments + + Write + + i=13967 + i=78 + i=13952 + + + + InputArguments i=68 i=78 - i=12616 + i=13966 @@ -30056,9 +30802,24 @@ - ApplyChangesRequired + FileHandle - i=1 + i=7 + + -1 + + + + + + + i=297 + + + + Data + + i=15 -1 @@ -30068,23 +30829,21 @@ - - GetCertificates - Server ServerConfiguration GetCertificates - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.8 + + GetPosition - i=32297 - i=32298 - i=80 - i=12581 + i=13969 + i=13970 + i=78 + i=13952 - + InputArguments i=68 i=78 - i=32296 + i=13968 @@ -30094,9 +30853,9 @@ - CertificateGroupId + FileHandle - i=17 + i=7 -1 @@ -30106,12 +30865,12 @@ - + OutputArguments i=68 i=78 - i=32296 + i=13968 @@ -30121,71 +30880,91 @@ - CertificateTypeIds + Position - i=17 + i=9 - 1 - - 0 - + -1 + + + + + + SetPosition + + i=13972 + i=78 + i=13952 + + + + InputArguments + + i=68 + i=78 + i=13971 + + + i=297 - Certificates + FileHandle - i=15 + i=7 - 1 - - 0 - + -1 + + + + + + + i=297 + + + + Position + + i=9 + + -1 + - - ApplyChanges - Server PushManagement Transactions - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.9 + + LastUpdateTime + i=68 i=78 - i=12581 - - - - CancelChanges - Server ServerConfiguration Transactions - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.11 - - i=80 - i=12581 + i=13952 - - - CreateSigningRequest - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.10 + + + OpenWithMasks - i=12732 - i=12733 + i=13975 + i=13976 i=78 - i=12581 + i=13952 - + InputArguments i=68 i=78 - i=12731 + i=13974 @@ -30195,52 +30974,97 @@ - CertificateGroupId + Masks - i=17 + i=7 -1 + + + + + OutputArguments + + i=68 + i=78 + i=13974 + + + i=297 - CertificateTypeId + FileHandle - i=17 + i=7 -1 + + + + + CloseAndUpdate + + i=13978 + i=13979 + i=78 + i=13952 + + + + InputArguments + + i=68 + i=78 + i=13977 + + + i=297 - SubjectName + FileHandle - i=12 + i=7 -1 + + + + + OutputArguments + + i=68 + i=78 + i=13977 + + + i=297 - RegeneratePrivateKey + ApplyChangesRequired i=1 @@ -30249,13 +31073,33 @@ + + + + + AddCertificate + + i=13981 + i=78 + i=13952 + + + + InputArguments + + i=68 + i=78 + i=13980 + + + i=297 - Nonce + Certificate i=15 @@ -30264,27 +31108,15 @@ - - - - - OutputArguments - - i=68 - i=78 - i=12731 - - - i=297 - CertificateRequest + IsTrustedCertificate - i=15 + i=1 -1 @@ -30294,21 +31126,20 @@ - - GetRejectedList - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.12 + + RemoveCertificate - i=12776 + i=13983 i=78 - i=12581 + i=13952 - - OutputArguments + + InputArguments i=68 i=78 - i=12775 + i=13982 @@ -30318,29 +31149,41 @@ - Certificates + Thumbprint - i=15 + i=12 - 1 - - 0 - + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + - - ResetToServerDefaults - Server ServerConfiguration ResetToServerDefaults - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.13 + + CertificateTypes - i=80 - i=12581 + i=68 + i=78 + i=13951 - + TransactionDiagnostics @@ -30403,183 +31246,88 @@ i=32299 - - CertificateUpdateRequestedAuditEventType - Push Model for Global Certificate and TrustList Management - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.26 - - i=2127 - - - - CertificateUpdatedAuditEventType - Push Model for Global Certificate and TrustList Management - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.27 - - i=13735 - i=13736 - i=2127 - - - - CertificateGroup - - i=68 - i=78 - i=12620 - - - - CertificateType - - i=68 - i=78 - i=12620 - - - - ServerConfiguration - Push Model for Global Certificate and TrustList Management - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.4 - - i=14053 - i=25706 - i=25725 - i=25707 - i=12710 - i=12639 - i=12640 - i=12641 - i=23597 - i=13737 - i=12740 - i=25708 - i=12737 - i=12777 - i=25709 - i=32336 - i=2253 - i=12581 - - - i=15644 - i=15716 - i=15704 - - - - CertificateGroups - - i=14156 - i=14088 - i=14122 - i=13813 - i=12637 - - - i=15644 - i=15716 - i=15704 - - - - DefaultApplicationGroup - - i=12642 - i=14161 - i=13225 - i=12555 - i=14053 - - - i=15704 - - - - TrustList - - i=12643 - i=14157 - i=14158 - i=12646 - i=12647 - i=12650 - i=12652 - i=12655 - i=12657 - i=12660 - i=12662 - i=12663 - i=12666 - i=12668 - i=12670 - i=12522 - i=14156 + + ConfigurationFile + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.4 + + i=15565 + i=15566 + i=15567 + i=15568 + i=15572 + i=15575 + i=15791 + i=15805 + i=15807 + i=15810 + i=15812 + i=15813 + i=15814 + i=15848 + i=15863 + i=15849 + i=16646 + i=16647 + i=19420 + i=19421 + i=16648 + i=16649 + i=16650 + i=19422 + i=15550 + i=80 + i=12581 - - i=15704 - - + Size i=68 - i=12642 + i=78 + i=15564 - - i=15704 - - + Writable i=68 - i=12642 + i=78 + i=15564 - - i=15704 - - + UserWritable i=68 - i=12642 + i=78 + i=15564 - - i=15704 - - + OpenCount i=68 - i=12642 + i=78 + i=15564 - - i=15704 - - + Open - i=12648 - i=12649 - i=12642 + i=15573 + i=15574 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12647 + i=78 + i=15572 - - i=15704 - @@ -30600,15 +31348,15 @@ - + OutputArguments + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.7 i=68 - i=12647 + i=78 + i=15572 - - i=15704 - @@ -30629,25 +31377,21 @@ - + Close - i=12651 - i=12642 + i=15790 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12650 + i=78 + i=15575 - - i=15704 - @@ -30668,26 +31412,22 @@ - + Read - i=12653 - i=12654 - i=12642 + i=15792 + i=15804 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12652 + i=78 + i=15791 - - i=15704 - @@ -30723,15 +31463,13 @@ - + OutputArguments i=68 - i=12652 + i=78 + i=15791 - - i=15704 - @@ -30752,25 +31490,21 @@ - + Write - i=12656 - i=12642 + i=15806 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12655 + i=78 + i=15805 - - i=15704 - @@ -30806,26 +31540,22 @@ - + GetPosition - i=12658 - i=12659 - i=12642 + i=15808 + i=15809 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12657 + i=78 + i=15807 - - i=15704 - @@ -30846,15 +31576,13 @@ - + OutputArguments i=68 - i=12657 + i=78 + i=15807 - - i=15704 - @@ -30875,25 +31603,21 @@ - + SetPosition - i=12661 - i=12642 + i=15811 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12660 + i=78 + i=15810 - - i=15704 - @@ -30929,65 +31653,53 @@ - + LastUpdateTime i=68 - i=12642 + i=78 + i=15564 - - i=15704 - - - OpenWithMasks + + CurrentVersion - i=12664 - i=12665 - i=12642 + i=68 + i=78 + i=15564 - - i=15704 - - - - InputArguments + + + ActivityTimeout i=68 - i=12663 + i=78 + i=15564 - - i=15704 - - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - OutputArguments + + SupportedDataType i=68 - i=12663 + i=78 + i=15564 + + + + ConfirmUpdate + + i=15864 + i=78 + i=15564 + + + + InputArguments + + i=68 + i=78 + i=15863 - - i=15704 - @@ -30996,9 +31708,9 @@ - FileHandle + UpdateId - i=7 + i=14 -1 @@ -31008,26 +31720,22 @@ - + CloseAndUpdate - i=14160 - i=12667 - i=12642 + i=15850 + i=15851 + i=78 + i=15564 - - i=15704 - - + InputArguments i=68 - i=12666 + i=78 + i=15849 - - i=15704 - @@ -31045,68 +31753,47 @@ - - - - - OutputArguments - - i=68 - i=12666 - - - i=15704 - - - i=297 - ApplyChangesRequired + VersionToUpdate - i=1 + i=20998 -1 - - - - - AddCertificate - - i=12669 - i=12642 - - - i=15704 - - - - InputArguments - - i=68 - i=12668 - - - i=15704 - - - i=297 - Certificate + Targets - i=15 + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 -1 @@ -31119,9 +31806,9 @@ - IsTrustedCertificate + RestartDelayTime - i=1 + i=290 -1 @@ -31131,25 +31818,13 @@ - - RemoveCertificate - - i=12671 - i=12642 - - - i=15704 - - - - InputArguments + + OutputArguments i=68 - i=12670 + i=78 + i=15849 - - i=15704 - @@ -31158,9 +31833,26 @@ - Thumbprint + UpdateResults - i=12 + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 -1 @@ -31173,9 +31865,9 @@ - IsTrustedCertificate + UpdateId - i=1 + i=14 -1 @@ -31185,178 +31877,311 @@ - + + AvailableNetworks + + i=68 + i=78 + i=15564 + + + + AvailablePorts + + i=68 + i=78 + i=15564 + + + + MaxEndpoints + + i=68 + i=78 + i=15564 + + + + MaxCertificateGroups + + i=68 + i=78 + i=15564 + + + + SecurityPolicyUris + + i=68 + i=78 + i=15564 + + + + UserTokenTypes + + i=68 + i=78 + i=15564 + + + CertificateTypes i=68 - i=14156 + i=78 + i=15564 - - i=15704 - - - DefaultHttpsGroup + + CertificateGroupPurposes - i=14089 - i=14121 - i=13225 - i=12555 - i=14053 + i=68 + i=78 + i=15564 + + + + ApplicationConfigurationType + Managed Application Configuration + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.14 + + i=26850 + i=26851 + i=26852 + i=26849 + i=19423 + i=19427 + i=12581 + + + + ApplicationUri + + i=68 + i=78 + i=25731 + + + + ProductUri + + i=68 + i=78 + i=25731 + + + + ApplicationType + + i=68 + i=78 + i=25731 + + + + Enabled + + i=68 + i=78 + i=25731 + + + + KeyCredentials + + i=17496 + i=80 + i=25731 + + + + AuthorizationServices + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.3 + + i=23556 + i=80 + i=25731 + + + + CertificateUpdateRequestedAuditEventType + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.26 + + i=2127 + + + + CertificateUpdatedAuditEventType + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.27 + + i=13735 + i=13736 + i=2127 + + + + CertificateGroup + + i=68 + i=78 + i=12620 + + + + CertificateType + + i=68 + i=78 + i=12620 + + + + ServerConfiguration + Push Model for Global Certificate and TrustList Management + https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.4 + + i=25706 + i=25725 + i=25707 + i=12710 + i=12639 + i=12640 + i=12641 + i=23597 + i=13737 + i=12740 + i=25708 + i=12737 + i=12777 + i=25709 + i=14053 + i=32336 + i=15892 + i=2253 + i=12581 + i=15644 + i=15716 i=15704 - - TrustList + + ApplicationUri - i=14090 - i=14091 - i=14092 - i=14093 - i=14095 - i=14098 - i=14100 - i=14103 - i=14105 - i=14108 - i=14110 - i=14111 - i=14114 - i=14117 - i=14119 - i=12522 - i=14088 + i=68 + i=12637 - i=15704 + i=15644 + i=15716 + i=15704 - - - Size + + + ProductUri i=68 - i=14089 + i=12637 + i=15644 + i=15716 i=15704 - - Writable + + ApplicationType i=68 - i=14089 + i=12637 + i=15644 + i=15716 i=15704 - - UserWritable + + ServerCapabilities i=68 - i=14089 + i=12637 + i=15644 + i=15716 i=15704 - - OpenCount + + SupportedPrivateKeyFormats i=68 - i=14089 + i=12637 + i=15644 + i=15716 i=15704 - - Open + + MaxTrustListSize - i=14096 - i=14097 - i=14089 + i=68 + i=12637 - i=15704 + i=15644 + i=15716 + i=15704 - - - InputArguments + + + MulticastDnsEnabled i=68 - i=14095 + i=12637 + i=15644 + i=15716 i=15704 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - OutputArguments + + HasSecureElement i=68 - i=14095 + i=12637 + i=15644 + i=15716 i=15704 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - Close + + UpdateCertificate - i=14099 - i=14089 + i=13738 + i=13739 + i=12637 i=15704 - + InputArguments i=68 - i=14098 + i=13737 i=15704 @@ -31369,49 +32194,24 @@ - FileHandle + CertificateGroupId - i=7 + i=17 -1 - - - - - Read - - i=14101 - i=14102 - i=14089 - - - i=15704 - - - - InputArguments - - i=68 - i=14100 - - - i=15704 - - - i=297 - FileHandle + CertificateTypeId - i=7 + i=17 -1 @@ -31424,77 +32224,41 @@ - Length + Certificate - i=6 + i=15 -1 - - - - - OutputArguments - - i=68 - i=14100 - - - i=15704 - - - i=297 - Data + IssuerCertificates i=15 - -1 - + 1 + + 0 + - - - - - Write - - i=14104 - i=14089 - - - i=15704 - - - - InputArguments - - i=68 - i=14103 - - - i=15704 - - - i=297 - FileHandle + PrivateKeyFormat - i=7 + i=12 -1 @@ -31507,7 +32271,7 @@ - Data + PrivateKey i=15 @@ -31519,22 +32283,11 @@ - - GetPosition - - i=14106 - i=14107 - i=14089 - - - i=15704 - - - - InputArguments + + OutputArguments i=68 - i=14105 + i=13737 i=15704 @@ -31547,9 +32300,9 @@ - FileHandle + ApplyChangesRequired - i=7 + i=1 -1 @@ -31559,50 +32312,40 @@ - - OutputArguments + + ApplyChanges - i=68 - i=14105 + i=12637 - i=15704 + i=15704 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + + CancelChanges - i=14109 - i=14089 + i=12637 i=15704 - + + CreateSigningRequest + + i=12738 + i=12739 + i=12637 + + + i=15704 + + + InputArguments i=68 - i=14108 + i=12737 i=15704 @@ -31615,9 +32358,9 @@ - FileHandle + CertificateGroupId - i=7 + i=17 -1 @@ -31630,128 +32373,54 @@ - Position + CertificateTypeId - i=9 + i=17 -1 - - - - - LastUpdateTime - - i=68 - i=14089 - - - i=15704 - - - - OpenWithMasks - - i=14112 - i=14113 - i=14089 - - - i=15704 - - - - InputArguments - - i=68 - i=14111 - - - i=15704 - - - i=297 - Masks + SubjectName - i=7 + i=12 -1 - - - - - OutputArguments - - i=68 - i=14111 - - - i=15704 - - - i=297 - FileHandle + RegeneratePrivateKey - i=7 + i=1 -1 - - - - - CloseAndUpdate - - i=14115 - i=14116 - i=14089 - - - i=15704 - - - - InputArguments - - i=68 - i=14114 - - - i=15704 - - - i=297 - FileHandle + Nonce - i=7 + i=15 -1 @@ -31761,11 +32430,11 @@ - + OutputArguments i=68 - i=14114 + i=12737 i=15704 @@ -31778,9 +32447,9 @@ - ApplyChangesRequired + CertificateRequest - i=1 + i=15 -1 @@ -31790,21 +32459,21 @@ - - AddCertificate + + GetRejectedList - i=14118 - i=14089 + i=12778 + i=12637 i=15704 - - InputArguments + + OutputArguments i=68 - i=14117 + i=12777 i=15704 @@ -31817,102 +32486,49 @@ - Certificate + Certificates i=15 - -1 - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - + 1 + + 0 + - - RemoveCertificate + + ResetToServerDefaults - i=14120 - i=14089 + i=12637 i=15704 - - InputArguments - - i=68 - i=14119 - - - i=15704 - - - - - - i=297 - - - - Thumbprint - - i=12 - - -1 - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - - - - CertificateTypes + + CertificateGroups - i=68 - i=14088 + i=14156 + i=14088 + i=14122 + i=13813 + i=12637 - i=15704 + i=15644 + i=15716 + i=15704 - - - DefaultUserTokenGroup + + + DefaultApplicationGroup - i=14123 - i=14155 + i=12642 + i=14161 i=13225 i=12555 i=14053 @@ -31921,87 +32537,87 @@ i=15704 - + TrustList - i=14124 - i=14125 - i=14126 - i=14127 - i=14129 - i=14132 - i=14134 - i=14137 - i=14139 - i=14142 - i=14144 - i=14145 - i=14148 - i=14151 - i=14153 + i=12643 + i=14157 + i=14158 + i=12646 + i=12647 + i=12650 + i=12652 + i=12655 + i=12657 + i=12660 + i=12662 + i=12663 + i=12666 + i=12668 + i=12670 i=12522 - i=14122 + i=14156 i=15704 - + Size i=68 - i=14123 + i=12642 i=15704 - + Writable i=68 - i=14123 + i=12642 i=15704 - + UserWritable i=68 - i=14123 + i=12642 i=15704 - + OpenCount i=68 - i=14123 + i=12642 i=15704 - + Open - i=14130 - i=14131 - i=14123 + i=12648 + i=12649 + i=12642 i=15704 - + InputArguments i=68 - i=14129 + i=12647 i=15704 @@ -32026,11 +32642,11 @@ - + OutputArguments i=68 - i=14129 + i=12647 i=15704 @@ -32055,21 +32671,21 @@ - + Close - i=14133 - i=14123 + i=12651 + i=12642 i=15704 - + InputArguments i=68 - i=14132 + i=12650 i=15704 @@ -32094,22 +32710,22 @@ - + Read - i=14135 - i=14136 - i=14123 + i=12653 + i=12654 + i=12642 i=15704 - + InputArguments i=68 - i=14134 + i=12652 i=15704 @@ -32149,11 +32765,11 @@ - + OutputArguments i=68 - i=14134 + i=12652 i=15704 @@ -32178,21 +32794,21 @@ - + Write - i=14138 - i=14123 + i=12656 + i=12642 i=15704 - + InputArguments i=68 - i=14137 + i=12655 i=15704 @@ -32232,22 +32848,22 @@ - + GetPosition - i=14140 - i=14141 - i=14123 + i=12658 + i=12659 + i=12642 i=15704 - + InputArguments i=68 - i=14139 + i=12657 i=15704 @@ -32272,11 +32888,11 @@ - + OutputArguments i=68 - i=14139 + i=12657 i=15704 @@ -32301,21 +32917,21 @@ - + SetPosition - i=14143 - i=14123 + i=12661 + i=12642 i=15704 - + InputArguments i=68 - i=14142 + i=12660 i=15704 @@ -32355,32 +32971,32 @@ - + LastUpdateTime i=68 - i=14123 + i=12642 i=15704 - + OpenWithMasks - i=14146 - i=14147 - i=14123 + i=12664 + i=12665 + i=12642 i=15704 - + InputArguments i=68 - i=14145 + i=12663 i=15704 @@ -32405,11 +33021,11 @@ - + OutputArguments i=68 - i=14145 + i=12663 i=15704 @@ -32434,22 +33050,22 @@ - + CloseAndUpdate - i=14149 - i=14150 - i=14123 + i=14160 + i=12667 + i=12642 i=15704 - + InputArguments i=68 - i=14148 + i=12666 i=15704 @@ -32474,11 +33090,11 @@ - + OutputArguments i=68 - i=14148 + i=12666 i=15704 @@ -32503,21 +33119,21 @@ - + AddCertificate - i=14152 - i=14123 + i=12669 + i=12642 i=15704 - + InputArguments i=68 - i=14151 + i=12668 i=15704 @@ -32557,21 +33173,21 @@ - + RemoveCertificate - i=14154 - i=14123 + i=12671 + i=12642 i=15704 - + InputArguments i=68 - i=14153 + i=12670 i=15704 @@ -32611,128 +33227,178 @@ - + CertificateTypes i=68 - i=14122 + i=14156 i=15704 - - ApplicationUri + + DefaultHttpsGroup - i=68 - i=12637 - - - i=15644 - i=15716 - i=15704 + i=14089 + i=14121 + i=13225 + i=12555 + i=14053 + + + i=15704 - - - ProductUri + + + TrustList - i=68 - i=12637 + i=14090 + i=14091 + i=14092 + i=14093 + i=14095 + i=14098 + i=14100 + i=14103 + i=14105 + i=14108 + i=14110 + i=14111 + i=14114 + i=14117 + i=14119 + i=12522 + i=14088 - i=15644 - i=15716 - i=15704 + i=15704 - - - ApplicationType + + + Size i=68 - i=12637 + i=14089 - i=15644 - i=15716 i=15704 - - ServerCapabilities + + Writable i=68 - i=12637 + i=14089 - i=15644 - i=15716 i=15704 - - SupportedPrivateKeyFormats + + UserWritable i=68 - i=12637 + i=14089 - i=15644 - i=15716 i=15704 - - MaxTrustListSize + + OpenCount i=68 - i=12637 + i=14089 - i=15644 - i=15716 i=15704 - - MulticastDnsEnabled + + Open + + i=14096 + i=14097 + i=14089 + + + i=15704 + + + + InputArguments i=68 - i=12637 + i=14095 - i=15644 - i=15716 i=15704 + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + - - HasSecureElement + + OutputArguments i=68 - i=12637 + i=14095 - i=15644 - i=15716 i=15704 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + - - UpdateCertificate + + Close - i=13738 - i=13739 - i=12637 + i=14099 + i=14089 i=15704 - + InputArguments i=68 - i=13737 + i=14098 i=15704 @@ -32745,24 +33411,49 @@ - CertificateGroupId + FileHandle - i=17 + i=7 -1 + + + + + Read + + i=14101 + i=14102 + i=14089 + + + i=15704 + + + + InputArguments + + i=68 + i=14100 + + + i=15704 + + + i=297 - CertificateTypeId + FileHandle - i=17 + i=7 -1 @@ -32775,41 +33466,77 @@ - Certificate + Length - i=15 + i=6 -1 + + + + + OutputArguments + + i=68 + i=14100 + + + i=15704 + + + i=297 - IssuerCertificates + Data i=15 - 1 - - 0 - + -1 + + + + + + Write + + i=14104 + i=14089 + + + i=15704 + + + + InputArguments + + i=68 + i=14103 + + + i=15704 + + + i=297 - PrivateKeyFormat + FileHandle - i=12 + i=7 -1 @@ -32822,7 +33549,7 @@ - PrivateKey + Data i=15 @@ -32834,11 +33561,22 @@ - - OutputArguments + + GetPosition + + i=14106 + i=14107 + i=14089 + + + i=15704 + + + + InputArguments i=68 - i=13737 + i=14105 i=15704 @@ -32851,9 +33589,9 @@ - ApplyChangesRequired + FileHandle - i=1 + i=7 -1 @@ -32863,40 +33601,50 @@ - - ApplyChanges - - i=12637 - - - i=15704 - - - - CancelChanges + + OutputArguments - i=12637 + i=68 + i=14105 - i=15704 + i=15704 - - - CreateSigningRequest + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + SetPosition - i=12738 - i=12739 - i=12637 + i=14109 + i=14089 i=15704 - + InputArguments i=68 - i=12737 + i=14108 i=15704 @@ -32909,9 +33657,9 @@ - CertificateGroupId + FileHandle - i=17 + i=7 -1 @@ -32924,54 +33672,128 @@ - CertificateTypeId + Position - i=17 + i=9 -1 + + + + + LastUpdateTime + + i=68 + i=14089 + + + i=15704 + + + + OpenWithMasks + + i=14112 + i=14113 + i=14089 + + + i=15704 + + + + InputArguments + + i=68 + i=14111 + + + i=15704 + + + i=297 - SubjectName + Masks - i=12 + i=7 -1 + + + + + OutputArguments + + i=68 + i=14111 + + + i=15704 + + + i=297 - RegeneratePrivateKey + FileHandle - i=1 + i=7 -1 + + + + + CloseAndUpdate + + i=14115 + i=14116 + i=14089 + + + i=15704 + + + + InputArguments + + i=68 + i=14114 + + + i=15704 + + + i=297 - Nonce + FileHandle - i=15 + i=7 -1 @@ -32981,11 +33803,11 @@ - + OutputArguments i=68 - i=12737 + i=14114 i=15704 @@ -32998,9 +33820,9 @@ - CertificateRequest + ApplyChangesRequired - i=15 + i=1 -1 @@ -33010,21 +33832,21 @@ - - GetRejectedList + + AddCertificate - i=12778 - i=12637 + i=14118 + i=14089 i=15704 - - OutputArguments + + InputArguments i=68 - i=12777 + i=14117 i=15704 @@ -33037,158 +33859,195 @@ - Certificates + Certificate i=15 - 1 - - 0 - + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + - - ResetToServerDefaults + + RemoveCertificate - i=12637 + i=14120 + i=14089 i=15704 - - TransactionDiagnostics - - i=32337 - i=32338 - i=32339 - i=32340 - i=32341 - i=32342 - i=32286 - i=12637 - - - i=15704 - - - - StartTime - - i=68 - i=32336 - - - i=15704 - - - - EndTime - - i=68 - i=32336 - - - i=15704 - - - - Result - - i=68 - i=32336 - - - i=15704 - - - - AffectedTrustLists + + InputArguments i=68 - i=32336 + i=14119 i=15704 + + + + + i=297 + + + + Thumbprint + + i=12 + + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + - - AffectedCertificateGroups + + CertificateTypes i=68 - i=32336 + i=14088 i=15704 - - Errors + + DefaultUserTokenGroup + + i=14123 + i=14155 + i=13225 + i=12555 + i=14053 + + + i=15704 + + + + TrustList + + i=14124 + i=14125 + i=14126 + i=14127 + i=14129 + i=14132 + i=14134 + i=14137 + i=14139 + i=14142 + i=14144 + i=14145 + i=14148 + i=14151 + i=14153 + i=12522 + i=14122 + + + i=15704 + + + + Size i=68 - i=32336 + i=14123 i=15704 - - KeyCredentialConfigurationFolderType - Push Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.2 - - i=17511 - i=17522 - i=61 - - - - <ServiceName> + + Writable - i=17512 - i=17513 - i=18001 - i=11508 - i=17496 + i=68 + i=14123 - - - ResourceUri + + i=15704 + + + + UserWritable i=68 - i=78 - i=17511 + i=14123 + + i=15704 + - - ProfileUri + + OpenCount i=68 - i=78 - i=17511 + i=14123 + + i=15704 + - - CreateCredential - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.3 + + Open - i=17523 - i=17524 - i=80 - i=17496 + i=14130 + i=14131 + i=14123 + + i=15704 + - + InputArguments i=68 - i=78 - i=17522 + i=14129 + + i=15704 + @@ -33197,72 +34056,27 @@ - Name - - i=12 - - -1 - - - - - - - i=297 - - - - ResourceUri - - i=12 - - -1 - - - - - - - i=297 - - - - ProfileUri + Mode - i=12 + i=3 -1 - - - i=297 - - - - EndpointUrls - - i=12 - - 1 - - 0 - - - - - + OutputArguments i=68 - i=78 - i=17522 + i=14129 + + i=15704 + @@ -33271,9 +34085,9 @@ - CredentialNodeId + FileHandle - i=17 + i=7 -1 @@ -33283,32 +34097,21 @@ - - KeyCredentialConfiguration - Push Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.4 - - i=17528 - i=12637 - i=17496 - - - - CreateCredential + + Close - i=17529 - i=17530 - i=18155 + i=14133 + i=14123 i=15704 - + InputArguments i=68 - i=17528 + i=14132 i=15704 @@ -33321,24 +34124,49 @@ - Name + FileHandle - i=12 + i=7 -1 + + + + + Read + + i=14135 + i=14136 + i=14123 + + + i=15704 + + + + InputArguments + + i=68 + i=14134 + + + i=15704 + + + i=297 - ResourceUri + FileHandle - i=12 + i=7 -1 @@ -33351,40 +34179,23 @@ - ProfileUri + Length - i=12 + i=6 -1 - - - i=297 - - - - EndpointUrls - - i=12 - - 1 - - 0 - - - - - + OutputArguments i=68 - i=17528 + i=14134 i=15704 @@ -33397,9 +34208,9 @@ - CredentialNodeId + Data - i=17 + i=15 -1 @@ -33409,79 +34220,25 @@ - - KeyCredentialConfigurationType - Push Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.5 - - i=18069 - i=18165 - i=18004 - i=18657 - i=18005 - i=17534 - i=18006 - i=18008 - i=58 - - - - ResourceUri - - i=68 - i=78 - i=18001 - - - - ProfileUri - - i=68 - i=78 - i=18001 - - - - EndpointUrls - - i=68 - i=80 - i=18001 - - - - CredentialId - - i=68 - i=80 - i=18001 - - - - ServiceStatus - - i=68 - i=80 - i=18001 - - - - GetEncryptingKey - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.6 + + Write - i=17535 - i=17536 - i=80 - i=18001 + i=14138 + i=14123 + + i=15704 + - + InputArguments i=68 - i=78 - i=17534 + i=14137 + + i=15704 + @@ -33490,9 +34247,9 @@ - CredentialId + FileHandle - i=12 + i=7 -1 @@ -33505,9 +34262,9 @@ - RequestedSecurityPolicyUri + Data - i=12 + i=15 -1 @@ -33517,13 +34274,26 @@ - - OutputArguments + + GetPosition + + i=14140 + i=14141 + i=14123 + + + i=15704 + + + + InputArguments i=68 - i=78 - i=17534 + i=14139 + + i=15704 + @@ -33532,24 +34302,38 @@ - PublicKey + FileHandle - i=15 + i=7 -1 + + + + + OutputArguments + + i=68 + i=14139 + + + i=15704 + + + i=297 - RevisedSecurityPolicyUri + Position - i=12 + i=9 -1 @@ -33559,22 +34343,25 @@ - - UpdateCredential - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.7 + + SetPosition - i=18007 - i=80 - i=18001 + i=14143 + i=14123 + + i=15704 + - + InputArguments i=68 - i=78 - i=18006 + i=14142 + + i=15704 + @@ -33583,9 +34370,9 @@ - CredentialId + FileHandle - i=12 + i=7 -1 @@ -33598,39 +34385,88 @@ - CredentialSecret + Position - i=15 + i=9 -1 + + + + + LastUpdateTime + + i=68 + i=14123 + + + i=15704 + + + + OpenWithMasks + + i=14146 + i=14147 + i=14123 + + + i=15704 + + + + InputArguments + + i=68 + i=14145 + + + i=15704 + + + i=297 - CertificateThumbprint + Masks - i=12 + i=7 -1 + + + + + OutputArguments + + i=68 + i=14145 + + + i=15704 + + + i=297 - SecurityPolicyUri + FileHandle - i=12 + i=7 -1 @@ -33640,2035 +34476,3580 @@ - - DeleteCredential - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.8 + + CloseAndUpdate - i=80 - i=18001 + i=14149 + i=14150 + i=14123 + + i=15704 + - - KeyCredentialAuditEventType - Pull Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.5.8 - - i=18028 - i=2127 - - - - ResourceUri + + InputArguments i=68 - i=78 - i=18011 + i=14148 + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + - - KeyCredentialUpdatedAuditEventType - Push Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.9 - - i=18011 - - - - KeyCredentialDeletedAuditEventType - Push Model for KeyCredential Service - https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.10 - - i=18064 - i=18011 - - - - ResourceUri + + OutputArguments i=68 - i=78 - i=18047 + i=14148 + + i=15704 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + - - AuthorizationServicesConfigurationFolderType - Authorization Service Configuration Server - https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.2 - - i=23557 - i=61 - - - - <ServiceName> + + AddCertificate - i=23558 - i=23559 - i=23560 - i=17852 - i=11508 - i=23556 + i=14152 + i=14123 - - - ServiceUri + + i=15704 + + + + InputArguments i=68 - i=78 - i=23557 + i=14151 + + i=15704 + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + - - ServiceCertificate + + RemoveCertificate + + i=14154 + i=14123 + + + i=15704 + + + + InputArguments i=68 - i=78 - i=23557 + i=14153 + + i=15704 + + + + + + i=297 + + + + Thumbprint + + i=12 + + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + - - IssuerEndpointUrl + + CertificateTypes i=68 - i=78 - i=23557 + i=14122 + + i=15704 + - - AuthorizationServices - Authorization Service Configuration Server - https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.3 + + TransactionDiagnostics + i=32337 + i=32338 + i=32339 + i=32340 + i=32341 + i=32342 + i=32286 i=12637 - i=61 + + i=15704 + - - AuthorizationServiceConfigurationType - Authorization Service Configuration Server - https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.4 - - i=18072 - i=17860 - i=18073 - i=58 - - - - ServiceUri + + StartTime i=68 - i=78 - i=17852 + i=32336 + + i=15704 + - - ServiceCertificate + + EndTime i=68 - i=78 - i=17852 + i=32336 + + i=15704 + - - IssuerEndpointUrl + + Result i=68 - i=78 - i=17852 + i=32336 + + i=15704 + - - AggregateConfigurationType - - i=11188 - i=11189 - i=11190 - i=11191 - i=58 - - - - TreatUncertainAsBad + + AffectedTrustLists i=68 - i=78 - i=11187 + i=32336 + + i=15704 + - - PercentDataBad + + AffectedCertificateGroups i=68 - i=78 - i=11187 + i=32336 + + i=15704 + - - PercentDataGood + + Errors i=68 - i=78 - i=11187 + i=32336 + + i=15704 + - - UseSlopedExtrapolation + + ConfigurationFile + + i=15893 + i=15894 + i=15937 + i=15938 + i=16013 + i=16060 + i=16074 + i=16101 + i=16103 + i=16124 + i=16283 + i=16306 + i=16315 + i=16316 + i=16320 + i=16317 + i=16652 + i=16653 + i=19442 + i=19443 + i=16654 + i=16655 + i=16656 + i=19444 + i=15550 + i=12637 + + + i=15704 + + + + Size i=68 - i=78 - i=11187 + i=15892 + + i=15704 + - - Interpolative - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. + + Writable - i=2340 + i=68 + i=15892 - - - Average - Retrieve the average value of the data over the interval. + + i=15704 + + + + UserWritable - i=2340 + i=68 + i=15892 - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + i=15704 + + + + OpenCount - i=2340 + i=68 + i=15892 - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. + + i=15704 + + + + Open - i=2340 + i=16020 + i=16059 + i=15892 - - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16013 - - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + OutputArguments - i=2340 + i=68 + i=16013 - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + Close - i=2340 + i=16061 + i=15892 - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16060 - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + Read - i=2340 + i=16075 + i=16076 + i=15892 - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16074 - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. - - i=2340 - - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + OutputArguments - i=2340 + i=68 + i=16074 - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + Write - i=2340 + i=16102 + i=15892 - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16101 - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + GetPosition - i=2340 + i=16122 + i=16123 + i=15892 - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16103 - - - AnnotationCount - Retrieve the number of Annotations in the interval. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + OutputArguments - i=2340 + i=68 + i=16103 - - - Count - Retrieve the number of raw values over the interval. + + i=15704 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + SetPosition - i=2340 + i=16160 + i=15892 - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16124 - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + LastUpdateTime - i=2340 + i=68 + i=15892 - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + i=15704 + + + + CurrentVersion - i=2340 + i=68 + i=15892 - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - https://reference.opcfoundation.org/v105/Core/docs/Part10/A.2.6/#A.2.6.2 + + i=15704 + + + + ActivityTimeout - i=2340 + i=68 + i=15892 - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. + + i=15704 + + + + SupportedDataType - i=2340 + i=68 + i=15892 - - - Delta - Retrieve the difference between the Start and End value in the interval. + + i=15704 + + + + ConfirmUpdate - i=2340 + i=16321 + i=15892 - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16320 - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. + + i=15704 + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + CloseAndUpdate - i=2340 + i=16318 + i=16319 + i=15892 - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. + + i=15704 + + + + InputArguments - i=2340 + i=68 + i=16317 - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. + + i=15704 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + VersionToUpdate + + i=20998 + + -1 + + + + + + + i=297 + + + + Targets + + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 + + -1 + + + + + + + i=297 + + + + RestartDelayTime + + i=290 + + -1 + + + + + + + + + OutputArguments - i=2340 + i=68 + i=16317 - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. + + i=15704 + + + + + + i=297 + + + + UpdateResults + + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 + + -1 + + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + AvailableNetworks - i=2340 + i=68 + i=15892 - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=15704 + + + + AvailablePorts - i=2340 + i=68 + i=15892 - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=15704 + + + + MaxEndpoints - i=2340 + i=68 + i=15892 - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. - - i=2340 - - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=15704 + + + + MaxCertificateGroups - i=2340 + i=68 + i=15892 - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=15704 + + + + SecurityPolicyUris - i=2340 + i=68 + i=15892 - - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=15704 + + + + UserTokenTypes - i=2340 + i=68 + i=15892 - - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=15704 + + + + CertificateTypes - i=2340 + i=68 + i=15892 - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=15704 + + + + CertificateGroupPurposes - i=2340 + i=68 + i=15892 - - - DataTypeSchemaHeader - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.2 + + i=15704 + + + + KeyCredentialConfigurationFolderType + Push Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.2 - i=22 + i=17511 + i=17522 + i=61 - - - - - - - - - DataTypeDescription - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.32 + + + <ServiceName> - i=22 + i=17512 + i=17513 + i=18001 + i=11508 + i=17496 - - - - - - - StructureDescription - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.33 + + + ResourceUri - i=14525 + i=68 + i=78 + i=17511 - - - - - - EnumDescription - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.34 + + + ProfileUri - i=14525 + i=68 + i=78 + i=17511 - - - - - - - SimpleTypeDescription - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.35 + + + CreateCredential + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.3 - i=14525 + i=17523 + i=17524 + i=80 + i=17496 - - - - - - - UABinaryFileDataType - Base Info UaBinary File - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.36 + + + InputArguments - i=15534 + i=68 + i=78 + i=17522 - - - - - - - - PortableQualifiedName - Base Info Portable IDs - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.37 + + + + + i=297 + + + + Name + + i=12 + + -1 + + + + + + + i=297 + + + + ResourceUri + + i=12 + + -1 + + + + + + + i=297 + + + + ProfileUri + + i=12 + + -1 + + + + + + + i=297 + + + + EndpointUrls + + i=12 + + 1 + + 0 + + + + + + + + + OutputArguments - i=22 + i=68 + i=78 + i=17522 - - - - - - - PortableNodeId - Base Info Portable IDs - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.38 + + + + + i=297 + + + + CredentialNodeId + + i=17 + + -1 + + + + + + + + + KeyCredentialConfiguration + Push Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.4 - i=22 + i=17528 + i=12637 + i=17496 - - - - - - - UnsignedRationalNumber - Base Info Rational Number - https://reference.opcfoundation.org/v105/Core/docs/Part5/12.40 + + + CreateCredential - i=22 + i=17529 + i=17530 + i=18155 - - - - - - - PubSubState - PubSub Model Base - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.1 + + i=15704 + + + + InputArguments - i=14648 - i=29 + i=68 + i=17528 - - - - - - - - - - EnumStrings + + i=15704 + + + + + + i=297 + + + + Name + + i=12 + + -1 + + + + + + + i=297 + + + + ResourceUri + + i=12 + + -1 + + + + + + + i=297 + + + + ProfileUri + + i=12 + + -1 + + + + + + + i=297 + + + + EndpointUrls + + i=12 + + 1 + + 0 + + + + + + + + + OutputArguments i=68 - i=14647 + i=17528 + + i=15704 + - - - Disabled - - - Paused - - - Operational - - - Error - - - PreOperational - - + + + + i=297 + + + + CredentialNodeId + + i=17 + + -1 + + + + + - - DataSetMetaDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.3 + + KeyCredentialConfigurationType + Push Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.5 - i=15534 + i=18069 + i=18165 + i=18004 + i=18657 + i=18005 + i=17534 + i=18006 + i=18008 + i=58 - - - - - - - - - - FieldMetaData - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.4 + + + ResourceUri - i=22 + i=68 + i=78 + i=18001 - - - - - - - - - - - - - - - DataSetFieldFlags - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.5 + + + ProfileUri - i=15577 - i=5 + i=68 + i=78 + i=18001 - - - - - - OptionSetValues + + + EndpointUrls i=68 - i=15904 + i=80 + i=18001 - - - - PromotedField - - - - - ConfigurationVersionDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.6 + + CredentialId - i=22 + i=68 + i=80 + i=18001 - - - - - - - PublishedDataSetDataType - PubSub Parameters PublishedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.5 + + + ServiceStatus - i=22 + i=68 + i=80 + i=18001 - - - - - - - - - - PublishedDataSetSourceDataType - PubSub Parameters PublishedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.6 + + + GetEncryptingKey + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.6 - i=22 + i=17535 + i=17536 + i=80 + i=18001 - - - - PublishedVariableDataType - PubSub Parameters PublishedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.7.1 + + + InputArguments - i=22 + i=68 + i=78 + i=17534 - - - - - - - - - - - - - PublishedDataItemsDataType - PubSub Parameters PublishedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.7.2 + + + + + i=297 + + + + CredentialId + + i=12 + + -1 + + + + + + + i=297 + + + + RequestedSecurityPolicyUri + + i=12 + + -1 + + + + + + + + + OutputArguments - i=15580 + i=68 + i=78 + i=17534 - - - - - - PublishedEventsDataType - PubSub Parameters PublishedDataSet Events - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.8.4 + + + + + i=297 + + + + PublicKey + + i=15 + + -1 + + + + + + + i=297 + + + + RevisedSecurityPolicyUri + + i=12 + + -1 + + + + + + + + + UpdateCredential + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.7 - i=15580 + i=18007 + i=80 + i=18001 - - - - - - - - PublishedDataSetCustomSourceDataType - PubSub Parameters PublishedDataSet Custom - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.9.2 + + + InputArguments - i=15580 + i=68 + i=78 + i=18006 - - - - - - ActionTargetDataType - PubSub Parameters PublishedDataSet Action - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.3 + + + + + i=297 + + + + CredentialId + + i=12 + + -1 + + + + + + + i=297 + + + + CredentialSecret + + i=15 + + -1 + + + + + + + i=297 + + + + CertificateThumbprint + + i=12 + + -1 + + + + + + + i=297 + + + + SecurityPolicyUri + + i=12 + + -1 + + + + + + + + + DeleteCredential + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.8 - i=22 + i=80 + i=18001 - - - - - - - - PublishedActionDataType - PubSub Parameters PublishedDataSet Action - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.4 + + + KeyCredentialAuditEventType + Pull Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.5.8 - i=15580 + i=18028 + i=2127 - - - - - - - ActionState - PubSub Parameters PublishedDataSet Action - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.11/#6.2.11.2.1 + + + ResourceUri - i=18596 - i=29 + i=68 + i=78 + i=18011 - - - - - - - - EnumStrings + + + KeyCredentialUpdatedAuditEventType + Push Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.9 + + i=18011 + + + + KeyCredentialDeletedAuditEventType + Push Model for KeyCredential Service + https://reference.opcfoundation.org/v105/Core/docs/Part12/8.6.10 + + i=18064 + i=18011 + + + + ResourceUri i=68 - i=18595 + i=78 + i=18047 - - - - Idle - - - Executing - - - Done - - - - - ActionMethodDataType - PubSub Parameters PublishedDataSet Action - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.5 + + AuthorizationServicesConfigurationFolderType + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.2 - i=22 + i=23557 + i=61 - - - - - - - PublishedActionMethodDataType - PubSub Parameters PublishedDataSet Action - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.6 + + + <ServiceName> - i=18594 + i=23558 + i=23559 + i=23560 + i=17852 + i=11508 + i=23556 - - - - - - DataSetFieldContentMask - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.2 + + + ServiceUri - i=15584 - i=7 + i=68 + i=78 + i=23557 - - - - - - - - - - - OptionSetValues + + + ServiceCertificate i=68 - i=15583 + i=78 + i=23557 - - - - StatusCode - - - SourceTimestamp - - - ServerTimestamp - - - SourcePicoSeconds - - - ServerPicoSeconds - - - RawData - - - - - DataSetWriterDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.1 + + IssuerEndpointUrl - i=22 + i=68 + i=78 + i=23557 - - - - - - - - - - - - - - DataSetWriterTransportDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.2 + + + AuthorizationServices + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.3 - i=22 + i=12637 + i=61 - - - - DataSetWriterMessageDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.3 + + + AuthorizationServiceConfigurationType + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.4 - i=22 + i=18072 + i=17860 + i=18073 + i=58 - - - - PubSubGroupDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.5/#6.2.5.7 + + + ServiceUri - i=22 + i=68 + i=78 + i=17852 - - - - - - - - - - - - WriterGroupDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.1 + + + ServiceCertificate - i=15609 + i=68 + i=78 + i=17852 - - - - - - - - - - + + + IssuerEndpointUrl + + i=68 + i=78 + i=17852 + + + + AuthorizationServiceConfigurationDataType + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.5 + + i=15435 + + + + + - - WriterGroupTransportDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.2 + + AggregateConfigurationType - i=22 + i=11188 + i=11189 + i=11190 + i=11191 + i=58 - - - - WriterGroupMessageDataType - PubSub Parameters Discovery - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.3 + + + TreatUncertainAsBad - i=22 + i=68 + i=78 + i=11187 - - - - PubSubConnectionDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.1 + + + PercentDataBad - i=22 + i=68 + i=78 + i=11187 - - - - - - - - - - - - - - ConnectionTransportDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.2 + + + PercentDataGood - i=22 + i=68 + i=78 + i=11187 - - - - NetworkAddressDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.3 + + + UseSlopedExtrapolation - i=22 + i=68 + i=78 + i=11187 - - - - - - NetworkAddressUrlDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.4 + + + Interpolative + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - i=15502 + i=2340 - - - - - - ReaderGroupDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.1 + + + Average + Retrieve the average value of the data over the interval. - i=15609 + i=2340 - - - - - - - - ReaderGroupTransportDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.2 + + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - i=22 + i=2340 - - - - ReaderGroupMessageDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.3 + + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. - i=22 + i=2340 - - - - DataSetReaderDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.1 + + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - i=22 + i=2340 - - - - - - - - - - - - - - - - - - - - - - DataSetReaderTransportDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.2 + + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - i=22 + i=2340 - - - - DataSetReaderMessageDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.3 + + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - i=22 + i=2340 - - - - SubscribedDataSetDataType - PubSub Parameters Discovery Extended - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.1 + + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - i=22 + i=2340 - - - - TargetVariablesDataType - PubSub Parameters SubscribedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.2 + + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. - i=15630 + i=2340 - - - - - - FieldTargetDataType - PubSub Parameters SubscribedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.3 + + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. - i=22 + i=2340 - - - - - - - - - - - - OverrideValueHandling - PubSub Parameters SubscribedDataSet - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.4 + + + Range + Retrieve the difference between the minimum and maximum Value over the interval. - i=15875 - i=29 + i=2340 - - - - - - - - EnumStrings + + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. - i=68 - i=15874 + i=2340 - - - - Disabled - - - LastUsableValue - - - OverrideValue - - - - - - SubscribedDataSetMirrorDataType - PubSub Parameters SubscribedDataSet Mirror - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.3.4 + + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. - i=15630 + i=2340 - - - - - - - PubSubConfigurationDataType - PubSub Parameters Configuration - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.1 + + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - i=22 + i=2340 - - - - - - - - StandaloneSubscribedDataSetRefDataType - PubSub Parameters SubscribedDataSet Standalone - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.4 + + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - i=15630 + i=2340 - - - - - - StandaloneSubscribedDataSetDataType - PubSub Parameters SubscribedDataSet Standalone - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.5 + + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - i=15630 + i=2340 - - - - - - - - - SecurityGroupDataType - PubSub Parameters Configuration2 - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.2 + + + AnnotationCount + Retrieve the number of Annotations in the interval. - i=22 + i=2340 - - - - - - - - - - - - - - PubSubKeyPushTargetDataType - PubSub Parameters Configuration2 - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.3 + + + Count + Retrieve the number of raw values over the interval. - i=22 + i=2340 - - - - - - - - - - - - - - PubSubConfiguration2DataType - PubSub Parameters Configuration2 - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.4 + + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - i=15530 + i=2340 - - - - - - - - - - - - DataSetOrderingType - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.3 + + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - i=15641 - i=29 + i=2340 - - - - - - - - EnumStrings + + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - i=68 - i=20408 + i=2340 - - - - Undefined - - - AscendingWriterId - - - AscendingWriterIdSingle - - - - - - UadpNetworkMessageContentMask - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.4 + + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + https://reference.opcfoundation.org/v105/Core/docs/Part10/A.2.6/#A.2.6.2 - i=15643 - i=7 + i=2340 - - - - - - - - - - - - - - - - OptionSetValues + + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. - i=68 - i=15642 + i=2340 - - - - PublisherId - - - GroupHeader - - - WriterGroupId - - - GroupVersion - - - NetworkMessageNumber - - - SequenceNumber - - - PayloadHeader - - - Timestamp - - - PicoSeconds - - - DataSetClassId - - - PromotedFields - - - - - - UadpWriterGroupMessageDataType - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.7 + + + Delta + Retrieve the difference between the Start and End value in the interval. - i=15616 + i=2340 - - - - - - + + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=2340 + + + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. + + i=2340 + + + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. + + i=2340 + + + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. + + i=2340 + + + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. + + i=2340 + + + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=2340 + + + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=2340 + + + + WorstQuality + Retrieve the worst StatusCode of data in the interval. + + i=2340 + + + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=2340 + + + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=2340 + + + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=2340 + + + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=2340 + + + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=2340 + + + + DataTypeSchemaHeader + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.31 + + i=22 + + + + + + - - UadpDataSetMessageContentMask - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.3.2 + + DataTypeDescription + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.32 - i=15647 - i=7 + i=22 - - - - - - - + + + - - OptionSetValues + + StructureDescription + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.33 - i=68 - i=15646 + i=14525 - - - - Timestamp - - - PicoSeconds - - - Status - - - MajorVersion - - - MinorVersion - - - SequenceNumber - - - - - - UadpDataSetWriterMessageDataType - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.3.6 + + + + + + EnumDescription + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.34 - i=15605 + i=14525 - - - - - + + + - - UadpDataSetReaderMessageDataType - PubSub Parameters UADP - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.4.10 + + SimpleTypeDescription + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.35 - i=15629 + i=14525 - - - - - - - - - - + + + - - JsonNetworkMessageContentMask - PubSub Parameters JSON - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.1.1 + + UABinaryFileDataType + Base Info UaBinary File + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.36 - i=15655 - i=7 + i=15534 - - - - - - - - + + + + - - OptionSetValues + + PortableQualifiedName + Base Info Portable IDs + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.37 + + i=22 + + + + + + + + PortableNodeId + Base Info Portable IDs + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.38 + + i=22 + + + + + + + + UnsignedRationalNumber + Base Info Rational Number + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.40 + + i=22 + + + + + + + + PubSubState + PubSub Model Base + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.1 + + i=14648 + i=29 + + + + + + + + + + + EnumStrings i=68 - i=15654 + i=14647 - NetworkMessageHeader - - - DataSetMessageHeader - - - SingleDataSetMessage + Disabled - PublisherId + Paused - DataSetClassId + Operational - ReplyTo + Error - WriterGroupName + PreOperational - - JsonWriterGroupMessageDataType - PubSub Parameters JSON - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.1.2 + + DataSetMetaDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.3 - i=15616 + i=15534 - - + + + + + + - - JsonDataSetMessageContentMask - PubSub Parameters JSON - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.3.1 + + FieldMetaData + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.4 - i=15659 - i=7 + i=22 - - - - - - - - - - - - - + + + + + + + + + + + - + + DataSetFieldFlags + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.5 + + i=15577 + i=5 + + + + + + OptionSetValues i=68 - i=15658 + i=15904 - DataSetWriterId - - - MetaDataVersion - - - SequenceNumber - - - Timestamp - - - Status - - - MessageType - - - DataSetWriterName - - - FieldEncoding1 - - - PublisherId - - - WriterGroupName - - - MinorVersion - - - FieldEncoding2 + PromotedField - - JsonDataSetWriterMessageDataType - PubSub Parameters JSON - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.3.2 + + ConfigurationVersionDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.6 - i=15605 + i=22 - - + + + - - JsonDataSetReaderMessageDataType - PubSub Parameters JSON - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.4.3 + + PublishedDataSetDataType + PubSub Parameters PublishedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.5 - i=15629 + i=22 - - - + + + + + + - - QosDataType - PubSub Parameters QoS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.2 + + PublishedDataSetSourceDataType + PubSub Parameters PublishedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.6 i=22 - + - - TransmitQosDataType - PubSub Parameters QoS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.3 + + PublishedVariableDataType + PubSub Parameters PublishedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.7.1 - i=23603 + i=22 - + + + + + + + + + + - - TransmitQosPriorityDataType - PubSub Parameters QoS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.4.2 + + PublishedDataItemsDataType + PubSub Parameters PublishedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.7.2 - i=23604 + i=15580 - - + + - - ReceiveQosDataType - PubSub Parameters QoS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.5 - - i=23603 - - - - - ReceiveQosPriorityDataType - PubSub Parameters QoS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.6.2 + + PublishedEventsDataType + PubSub Parameters PublishedDataSet Events + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.8.4 - i=23608 + i=15580 - - + + + + - - DatagramConnectionTransportDataType - PubSub Parameters Datagram - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.2.2 + + PublishedDataSetCustomSourceDataType + PubSub Parameters PublishedDataSet Custom + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.9.2 - i=15618 + i=15580 - - + + - - DatagramConnectionTransport2DataType - PubSub Parameters Datagram - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.2.7 + + ActionTargetDataType + PubSub Parameters PublishedDataSet Action + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.3 - i=17467 + i=22 - - - - - + + + + - - DatagramWriterGroupTransportDataType - PubSub Parameters Datagram - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.3.3 + + PublishedActionDataType + PubSub Parameters PublishedDataSet Action + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.4 - i=15611 + i=15580 - - - + + + - - DatagramWriterGroupTransport2DataType - PubSub Parameters Datagram - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.3.9 + + ActionState + PubSub Parameters PublishedDataSet Action + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.11/#6.2.11.2.1 - i=15532 + i=18596 + i=29 - - - - - - + + + + - - DatagramDataSetReaderTransportDataType - PubSub Parameters Datagram - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.6.5 + + EnumStrings - i=15628 + i=68 + i=18595 - - - - - - - - - DtlsPubSubConnectionDataType - PubSub Parameters Datagram DTLS - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.7.6 + + + + Idle + + + Executing + + + Done + + + + + + ActionMethodDataType + PubSub Parameters PublishedDataSet Action + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.5 i=22 - - - - - - + + + - - BrokerConnectionTransportDataType - PubSub Parameters Broker - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.2.3 + + PublishedActionMethodDataType + PubSub Parameters PublishedDataSet Action + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.10.6 - i=15618 + i=18594 - - - + + - - BrokerTransportQualityOfService - PubSub Parameters Broker - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.1 + + DataSetFieldContentMask + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.2 - i=15009 - i=29 + i=15584 + i=7 - - - - - - + + + + + + + - - EnumStrings + + OptionSetValues i=68 - i=15008 + i=15583 - NotSpecified + StatusCode - BestEffort + SourceTimestamp - AtLeastOnce + ServerTimestamp - AtMostOnce + SourcePicoSeconds - ExactlyOnce + ServerPicoSeconds + + + RawData - - BrokerWriterGroupTransportDataType - PubSub Parameters Broker - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.3.5 + + DataSetWriterDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.1 - i=15611 + i=22 - - - - - + + + + + + + + + + - - BrokerDataSetWriterTransportDataType - PubSub Parameters Broker - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.5.7 + + DataSetWriterTransportDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.2 - i=15598 + i=22 - - - - - - - - + - - BrokerDataSetReaderTransportDataType - PubSub Parameters Broker - https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.6.6 + + DataSetWriterMessageDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.5.3 - i=15628 + i=22 - - - - - - - + - - PubSubKeyServiceType - PubSub Model SKS - https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.1 + + PubSubGroupDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.5/#6.2.5.7 - i=15907 - i=15910 - i=15913 - i=25277 - i=58 + i=22 - - - GetSecurityKeys - PubSub Model SKS - https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.2 + + + + + + + + + + + + WriterGroupDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.1 - i=15908 - i=15909 - i=80 - i=15906 + i=15609 - - - InputArguments + + + + + + + + + + + + + + WriterGroupTransportDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.2 - i=68 - i=78 - i=15907 + i=22 - - - - - i=297 - - - - SecurityGroupId - - i=12 - - -1 - - - - - - - i=297 - - - - StartingTokenId - - i=288 - - -1 - - - - - - - i=297 - - - - RequestedKeyCount - - i=7 - - -1 - - - - - - - - - OutputArguments + + + + WriterGroupMessageDataType + PubSub Parameters Discovery + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.6/#6.2.6.7.3 - i=68 - i=78 - i=15907 + i=22 - - - - - i=297 - - - - SecurityPolicyUri - - i=12 - - -1 - - - - - - - i=297 - - - - FirstTokenId - - i=288 - - -1 - - - - - - - i=297 - - - - Keys - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - TimeToNextKey - - i=290 - - -1 - - - - - - - i=297 - - - - KeyLifetime - - i=290 - - -1 - - - - - - - - - GetSecurityGroup - PubSub Model SKS - https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.3 + + + + PubSubConnectionDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.1 - i=15911 - i=15912 - i=80 - i=15906 + i=22 - - - InputArguments + + + + + + + + + + + + + + ConnectionTransportDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.2 - i=68 - i=78 - i=15910 + i=22 - - + + + + NetworkAddressDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.3 + + i=22 + + + + + + + NetworkAddressUrlDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.7/#6.2.7.5.4 + + i=15502 + + + + + + + ReaderGroupDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.1 + + i=15609 + + + + + + + + + ReaderGroupTransportDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.2 + + i=22 + + + + + ReaderGroupMessageDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.8/#6.2.8.2.3 + + i=22 + + + + + DataSetReaderDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.1 + + i=22 + + + + + + + + + + + + + + + + + + + + + + + DataSetReaderTransportDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.2 + + i=22 + + + + + DataSetReaderMessageDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.9/#6.2.9.13.3 + + i=22 + + + + + SubscribedDataSetDataType + PubSub Parameters Discovery Extended + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.1 + + i=22 + + + + + TargetVariablesDataType + PubSub Parameters SubscribedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.2 + + i=15630 + + + + + + + FieldTargetDataType + PubSub Parameters SubscribedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.3 + + i=22 + + + + + + + + + + + + + OverrideValueHandling + PubSub Parameters SubscribedDataSet + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.2.4 + + i=15875 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=15874 + + + + + Disabled + + + LastUsableValue + + + OverrideValue + + + + + + SubscribedDataSetMirrorDataType + PubSub Parameters SubscribedDataSet Mirror + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.3.4 + + i=15630 + + + + + + + + PubSubConfigurationDataType + PubSub Parameters Configuration + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.1 + + i=22 + + + + + + + + + StandaloneSubscribedDataSetRefDataType + PubSub Parameters SubscribedDataSet Standalone + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.4 + + i=15630 + + + + + + + StandaloneSubscribedDataSetDataType + PubSub Parameters SubscribedDataSet Standalone + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.10/#6.2.10.5 + + i=15630 + + + + + + + + + + SecurityGroupDataType + PubSub Parameters Configuration2 + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.2 + + i=22 + + + + + + + + + + + + + + + PubSubKeyPushTargetDataType + PubSub Parameters Configuration2 + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.3 + + i=22 + + + + + + + + + + + + + + + PubSubConfiguration2DataType + PubSub Parameters Configuration2 + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.12/#6.2.12.4 + + i=15530 + + + + + + + + + + + + + DataSetOrderingType + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.3 + + i=15641 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=20408 + + + + + Undefined + + + AscendingWriterId + + + AscendingWriterIdSingle + + + + + + UadpNetworkMessageContentMask + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.4 + + i=15643 + i=7 + + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=15642 + + + + + PublisherId + + + GroupHeader + + + WriterGroupId + + + GroupVersion + + + NetworkMessageNumber + + + SequenceNumber + + + PayloadHeader + + + Timestamp + + + PicoSeconds + + + DataSetClassId + + + PromotedFields + + + + + + UadpWriterGroupMessageDataType + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.7 + + i=15616 + + + + + + + + + + + UadpDataSetMessageContentMask + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.3.2 + + i=15647 + i=7 + + + + + + + + + + + + OptionSetValues + + i=68 + i=15646 + + + + + Timestamp + + + PicoSeconds + + + Status + + + MajorVersion + + + MinorVersion + + + SequenceNumber + + + + + + UadpDataSetWriterMessageDataType + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.3.6 + + i=15605 + + + + + + + + + + UadpDataSetReaderMessageDataType + PubSub Parameters UADP + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.4.10 + + i=15629 + + + + + + + + + + + + + + + JsonNetworkMessageContentMask + PubSub Parameters JSON + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.1.1 + + i=15655 + i=7 + + + + + + + + + + + + + OptionSetValues + + i=68 + i=15654 + + + + + NetworkMessageHeader + + + DataSetMessageHeader + + + SingleDataSetMessage + + + PublisherId + + + DataSetClassId + + + ReplyTo + + + WriterGroupName + + + + + + JsonWriterGroupMessageDataType + PubSub Parameters JSON + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.1.2 + + i=15616 + + + + + + + JsonDataSetMessageContentMask + PubSub Parameters JSON + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.3.1 + + i=15659 + i=7 + + + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=15658 + + + + + DataSetWriterId + + + MetaDataVersion + + + SequenceNumber + + + Timestamp + + + Status + + + MessageType + + + DataSetWriterName + + + FieldEncoding1 + + + PublisherId + + + WriterGroupName + + + MinorVersion + + + FieldEncoding2 + + + + + + JsonDataSetWriterMessageDataType + PubSub Parameters JSON + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.3.2 + + i=15605 + + + + + + + JsonDataSetReaderMessageDataType + PubSub Parameters JSON + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.4.3 + + i=15629 + + + + + + + + QosDataType + PubSub Parameters QoS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.2 + + i=22 + + + + + TransmitQosDataType + PubSub Parameters QoS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.3 + + i=23603 + + + + + TransmitQosPriorityDataType + PubSub Parameters QoS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.4.2 + + i=23604 + + + + + + + ReceiveQosDataType + PubSub Parameters QoS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.5 + + i=23603 + + + + + ReceiveQosPriorityDataType + PubSub Parameters QoS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.1.6.2 + + i=23608 + + + + + + + DatagramConnectionTransportDataType + PubSub Parameters Datagram + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.2.2 + + i=15618 + + + + + + + DatagramConnectionTransport2DataType + PubSub Parameters Datagram + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.2.7 + + i=17467 + + + + + + + + + + DatagramWriterGroupTransportDataType + PubSub Parameters Datagram + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.3.3 + + i=15611 + + + + + + + + DatagramWriterGroupTransport2DataType + PubSub Parameters Datagram + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.3.9 + + i=15532 + + + + + + + + + + + DatagramDataSetReaderTransportDataType + PubSub Parameters Datagram + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.6.5 + + i=15628 + + + + + + + + + + DtlsPubSubConnectionDataType + PubSub Parameters Datagram DTLS + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.1/#6.4.1.7.6 + + i=22 + + + + + + + + + + + BrokerConnectionTransportDataType + PubSub Parameters Broker + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.2.3 + + i=15618 + + + + + + + + BrokerTransportQualityOfService + PubSub Parameters Broker + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.1 + + i=15009 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=15008 + + + + + NotSpecified + + + BestEffort + + + AtLeastOnce + + + AtMostOnce + + + ExactlyOnce + + + + + + BrokerWriterGroupTransportDataType + PubSub Parameters Broker + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.3.5 + + i=15611 + + + + + + + + + + BrokerDataSetWriterTransportDataType + PubSub Parameters Broker + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.5.7 + + i=15598 + + + + + + + + + + + + BrokerDataSetReaderTransportDataType + PubSub Parameters Broker + https://reference.opcfoundation.org/v105/Core/docs/Part14/6.4.2/#6.4.2.6.6 + + i=15628 + + + + + + + + + + + PubSubKeyServiceType + PubSub Model SKS + https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.1 + + i=15907 + i=15910 + i=15913 + i=25277 + i=58 + + + + GetSecurityKeys + PubSub Model SKS + https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.2 + + i=15908 + i=15909 + i=80 + i=15906 + + + + InputArguments + + i=68 + i=78 + i=15907 + + + + + + i=297 + + + + SecurityGroupId + + i=12 + + -1 + + + + + + + i=297 + + + + StartingTokenId + + i=288 + + -1 + + + + + + + i=297 + + + + RequestedKeyCount + + i=7 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=15907 + + + + + + i=297 + + + + SecurityPolicyUri + + i=12 + + -1 + + + + + + + i=297 + + + + FirstTokenId + + i=288 + + -1 + + + + + + + i=297 + + + + Keys + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + TimeToNextKey + + i=290 + + -1 + + + + + + + i=297 + + + + KeyLifetime + + i=290 + + -1 + + + + + + + + + GetSecurityGroup + PubSub Model SKS + https://reference.opcfoundation.org/v105/Core/docs/Part14/8.3.3 + + i=15911 + i=15912 + i=80 + i=15906 + + + + InputArguments + + i=68 + i=78 + i=15910 + + + i=297 @@ -52631,85 +55012,428 @@ i=12 - - ApplicationConfigurationType - Managed Application Configuration - https://reference.opcfoundation.org/v105/Core/docs/Part12/7.10.14 + + ProvisionableDeviceType + Onboarding Server PushManagement + https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.3 - i=26850 - i=26851 - i=26852 - i=26849 - i=12581 + i=26872 + i=26873 + i=26875 + i=26878 + i=58 - + + IsSingleton + + i=68 + i=78 + i=26871 + + + + RequestTickets + https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.4 + + i=26874 + i=78 + i=26871 + + + + OutputArguments + + i=68 + i=78 + i=26873 + + + + + + i=297 + + + + Tickets + + i=25726 + + 1 + + 0 + + + + + + + + + SetRegistrarEndpoints + https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.5 + + i=26876 + i=80 + i=26871 + + + + InputArguments + + i=68 + i=78 + i=26875 + + + + + + i=297 + + + + Registrars + + i=308 + + 1 + + 0 + + + + + + + + + <ApplicationName> + + i=27997 + i=27998 + i=27999 + i=28000 + i=28001 + i=28002 + i=28003 + i=28005 + i=28008 + i=28010 + i=28013 + i=26879 + i=27996 + i=25731 + i=11508 + i=26871 + + + ApplicationUri i=68 i=78 - i=25731 + i=26878 - + ProductUri i=68 i=78 - i=25731 + i=26878 - + ApplicationType i=68 i=78 - i=25731 + i=26878 - - Enabled + + ServerCapabilities i=68 i=78 - i=25731 + i=26878 - - ProvisionableDeviceType - Onboarding Server PushManagement - https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.3 + + SupportedPrivateKeyFormats - i=26872 - i=26873 - i=26875 - i=26878 - i=58 + i=68 + i=78 + i=26878 - - - IsSingleton + + + MaxTrustListSize + + i=68 + i=78 + i=26878 + + + + MulticastDnsEnabled + + i=68 + i=78 + i=26878 + + + + UpdateCertificate + + i=28006 + i=28007 + i=78 + i=26878 + + + + InputArguments + + i=68 + i=78 + i=28005 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=28005 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + ApplyChanges + + i=78 + i=26878 + + + + CreateSigningRequest + + i=28011 + i=28012 + i=78 + i=26878 + + + + InputArguments i=68 i=78 - i=26871 + i=28010 + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + RegeneratePrivateKey + + i=1 + + -1 + + + + + + + i=297 + + + + Nonce + + i=15 + + -1 + + + + + + - - RequestTickets - https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.4 - - i=26874 - i=78 - i=26871 - - - + OutputArguments i=68 i=78 - i=26873 + i=28010 @@ -52719,35 +55443,32 @@ - Tickets + CertificateRequest - i=25726 + i=15 - 1 - - 0 - + -1 + - - SetRegistrarEndpoints - https://reference.opcfoundation.org/v105/Core/docs/Part21/9.3.5 + + GetRejectedList - i=26876 - i=80 - i=26871 + i=28014 + i=78 + i=26878 - - InputArguments + + OutputArguments i=68 i=78 - i=26875 + i=28013 @@ -52757,9 +55478,9 @@ - Registrars + Certificates - i=308 + i=15 1 @@ -52771,27 +55492,6 @@ - - <ApplicationName> - - i=26879 - i=27997 - i=27998 - i=27999 - i=28000 - i=28001 - i=28002 - i=28003 - i=28005 - i=28008 - i=28010 - i=28013 - i=27996 - i=25731 - i=11508 - i=26871 - - CertificateGroups @@ -53447,369 +56147,6 @@ i=26880 - - ApplicationUri - - i=68 - i=78 - i=26878 - - - - ProductUri - - i=68 - i=78 - i=26878 - - - - ApplicationType - - i=68 - i=78 - i=26878 - - - - ServerCapabilities - - i=68 - i=78 - i=26878 - - - - SupportedPrivateKeyFormats - - i=68 - i=78 - i=26878 - - - - MaxTrustListSize - - i=68 - i=78 - i=26878 - - - - MulticastDnsEnabled - - i=68 - i=78 - i=26878 - - - - UpdateCertificate - - i=28006 - i=28007 - i=78 - i=26878 - - - - InputArguments - - i=68 - i=78 - i=28005 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - - - OutputArguments - - i=68 - i=78 - i=28005 - - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - - ApplyChanges - - i=78 - i=26878 - - - - CreateSigningRequest - - i=28011 - i=28012 - i=78 - i=26878 - - - - InputArguments - - i=68 - i=78 - i=28010 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - SubjectName - - i=12 - - -1 - - - - - - - i=297 - - - - RegeneratePrivateKey - - i=1 - - -1 - - - - - - - i=297 - - - - Nonce - - i=15 - - -1 - - - - - - - - - OutputArguments - - i=68 - i=78 - i=28010 - - - - - - i=297 - - - - CertificateRequest - - i=15 - - -1 - - - - - - - - - GetRejectedList - - i=28014 - i=78 - i=26878 - - - - OutputArguments - - i=68 - i=78 - i=28013 - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - Enabled @@ -57261,6 +59598,563 @@ + + LogObjectType + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.2 + + i=19353 + i=19356 + i=19357 + i=19744 + i=58 + + + + GetRecords + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.3 + + i=19354 + i=19355 + i=78 + i=19352 + + + + InputArguments + Authorization Service Configuration Server + https://reference.opcfoundation.org/v105/Core/docs/Part12/9.7.3 + + i=68 + i=78 + i=19353 + + + + + + i=297 + + + + StartTime + + i=13 + + -1 + + + + + + + i=297 + + + + EndTime + + i=13 + + -1 + + + + + + + i=297 + + + + MaxReturnRecords + + i=7 + + -1 + + + + + + + i=297 + + + + MinimumSeverity + + i=5 + + -1 + + + + + + + i=297 + + + + RequestMask + + i=19749 + + -1 + + + + + + + i=297 + + + + ContinuationPointIn + + i=15 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=78 + i=19353 + + + + + + i=297 + + + + Results + + i=19745 + + -1 + + + + + + + i=297 + + + + ContinuationPointOut + + i=15 + + -1 + + + + + + + + + MaxRecords + + i=68 + i=80 + i=19352 + + + + MaxStorageDuration + + i=68 + i=80 + i=19352 + + + + MinimumSeverity + + i=68 + i=80 + i=19352 + + + + LogRecord + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.4 + + i=22 + + + + + + + + + + + + + + LogRecordsDataType + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.9 + + i=22 + + + + + + + SpanContextDataType + LogObject TraceContext + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.5.2 + + i=22 + + + + + + + + TraceContextDataType + LogObject TraceContext + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.5.3 + + i=19746 + + + + + + + + NameValuePair + LogObject AdditionalData + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.6 + + i=22 + + + + + + + + LogRecordMask + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.7 + + i=19750 + i=7 + + + + + + + + + + + OptionSetValues + + i=68 + i=19749 + + + + + EventType + + + SourceNode + + + SourceName + + + TraceContext + + + AdditionalData + + + + + + BaseLogEventType + LogObject BaseEvent + https://reference.opcfoundation.org/v105/Core/docs/Part26/6.3 + + i=19363 + i=19364 + i=19365 + i=19366 + i=2041 + + + + ConditionClassId + + i=68 + i=78 + i=19362 + + + + ConditionClassName + + i=68 + i=78 + i=19362 + + + + ErrorCode + + i=68 + i=80 + i=19362 + + + + ErrorCodeNode + + i=68 + i=80 + i=19362 + + + + LogOverflowEventType + LogObject Overflow + https://reference.opcfoundation.org/v105/Core/docs/Part26/6.4 + + i=2041 + + + + LogEntryConditionClassType + LogObject BaseEvent + https://reference.opcfoundation.org/v105/Core/docs/Part26/6.5 + + i=11163 + + + + ServerLog + LogObject ServerLog + https://reference.opcfoundation.org/v105/Core/docs/Part26/7.2 + + i=19373 + i=19376 + i=19377 + i=19751 + i=2253 + i=19352 + + + + GetRecords + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.2 + + i=19374 + i=19375 + i=19372 + + + + InputArguments + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.3 + + i=68 + i=19373 + + + + + + i=297 + + + + StartTime + + i=13 + + -1 + + + + + + + i=297 + + + + EndTime + + i=13 + + -1 + + + + + + + i=297 + + + + MaxReturnRecords + + i=7 + + -1 + + + + + + + i=297 + + + + MinimumSeverity + + i=5 + + -1 + + + + + + + i=297 + + + + RequestMask + + i=19749 + + -1 + + + + + + + i=297 + + + + ContinuationPointIn + + i=15 + + -1 + + + + + + + + + OutputArguments + + i=68 + i=19373 + + + + + + i=297 + + + + Results + + i=19745 + + -1 + + + + + + + i=297 + + + + ContinuationPointOut + + i=15 + + -1 + + + + + + + + + MaxRecords + + i=68 + i=19372 + + + + MaxStorageDuration + + i=68 + i=19372 + + + + MinimumSeverity + + i=68 + i=19372 + + + + Logs + LogObject Logs + https://reference.opcfoundation.org/v105/Core/docs/Part26/7.3 + + i=24226 + i=61 + + IdType Base Info Base Types @@ -57995,7 +60889,7 @@ LocaleId Base Info ServerType - https://reference.opcfoundation.org/v105/Core/docs/Part9/A.1.1 + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.2.11/#12.2.11.1 i=12 @@ -58066,7 +60960,7 @@ ApplicationDescription Base Info ServerType - https://reference.opcfoundation.org/v105/Core/docs/Part14/7.2.4/#7.2.4.6.5 + https://reference.opcfoundation.org/v105/Core/docs/Part5/12.3.3 i=22 @@ -58148,7 +61042,7 @@ UserTokenType - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.43 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.42 i=7596 i=29 @@ -58185,7 +61079,7 @@ UserTokenPolicy - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.42 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.41 i=22 @@ -58216,7 +61110,7 @@ RegisteredServer - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.32 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.31 i=22 @@ -58294,7 +61188,7 @@ SessionAuthenticationToken - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.36 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.35 i=17 @@ -59059,7 +61953,7 @@ RelativePathElement - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.31 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.30 i=22 @@ -59072,7 +61966,7 @@ RelativePath - https://reference.opcfoundation.org/v105/Core/docs/Part4/7.31 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.30 i=22 @@ -59538,7 +62432,7 @@ AggregateConfiguration - https://reference.opcfoundation.org/v105/Core/docs/Part11/6.5.4/#6.5.4.1 + https://reference.opcfoundation.org/v105/Core/docs/Part4/7.22.4 i=22 @@ -60300,6 +63194,38 @@ i=76 + + Default Binary + + i=15434 + i=16548 + i=76 + + + + Default Binary + + i=15435 + i=16551 + i=76 + + + + Default Binary + + i=15436 + i=16554 + i=76 + + + + Default Binary + + i=15538 + i=16557 + i=76 + + Default Binary @@ -60308,6 +63234,62 @@ i=76 + + Default Binary + + i=15549 + i=16564 + i=76 + + + + Default Binary + + i=15556 + i=16567 + i=76 + + + + Default Binary + + i=15557 + i=16570 + i=76 + + + + Default Binary + + i=15558 + i=16578 + i=76 + + + + Default Binary + + i=15559 + i=16581 + i=76 + + + + Default Binary + + i=15560 + i=16584 + i=76 + + + + Default Binary + + i=19445 + i=19757 + i=76 + + Default Binary @@ -60948,6 +63930,48 @@ i=76 + + Default Binary + + i=19361 + i=19380 + i=76 + + + + Default Binary + + i=19745 + i=19760 + i=76 + + + + Default Binary + + i=19746 + i=19763 + i=76 + + + + Default Binary + + i=19747 + i=19766 + i=76 + + + + Default Binary + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.9 + + i=19748 + i=19769 + i=76 + + Default Binary @@ -61510,7 +64534,18 @@ i=32566 i=32569 i=12681 + i=16548 + i=16551 + i=16554 + i=16557 i=32383 + i=16564 + i=16567 + i=16570 + i=16578 + i=16581 + i=16584 + i=19757 i=15741 i=14855 i=15599 @@ -61591,6 +64626,11 @@ i=19097 i=32663 i=32666 + i=19380 + i=19760 + i=19763 + i=19766 + i=19769 i=16131 i=18178 i=18181 @@ -62056,3084 +65096,3285 @@ YW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDZXJ0aWZpY2F0ZXMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ3JscyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6 Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDcmxzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zYWN0aW9uRXJy -b3JUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXJyb3IiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWVzc2FnZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVTY2hlbWFI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFU -eXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVj -dHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5n -dGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlv -biIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1 -YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIFR5cGVOYW1lPSJ0bnM6 -U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0 -YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBT -b3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkVudW1EZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOkVudW1EZWZpbml0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1w -bGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy -Y2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VEYXRhVHlwZSIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBU -eXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 -RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj -ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh -Y2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg -VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1 -Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh -VHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu -dW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0 -YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTY2hlbWFMb2Nh -dGlvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -RmlsZUhlYWRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkZpbGVIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9P -ZkZpbGVIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0idWE6 -VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQb3J0YWJsZVF1YWxpZmllZE5hbWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlBvcnRhYmxlTm9kZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJhdG9yIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbm9taW5hdG9yIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJQdWJTdWJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlBhdXNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iT3BlcmF0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkVycm9yIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQ -cmVPcGVyYXRpb25hbCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgQmFzZVR5cGU9 -InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTmFt -ZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h -bWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFj -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RydWN0dXJlRGF0YVR5 -cGVzIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9P -ZlN0cnVjdHVyZURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbnVtRGF0 -YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW51 -bURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpFbnVtRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJO -b09mRW51bURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTaW1wbGVEYXRh -VHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaW1w -bGVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhG -aWVsZD0iTm9PZlNpbXBsZURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp -b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkZpZWxkcyIgVHlwZU5hbWU9InRuczpGaWVsZE1ldGFEYXRhIiBMZW5ndGhGaWVsZD0iTm9PZkZp -ZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0i -b3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbiIg -VHlwZU5hbWU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpZWxkTWV0YURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJGaWVsZEZsYWdzIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZEZsYWdzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 -VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZlByb3BlcnRpZXMiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldEZpZWxkRmxh -Z3MiIExlbmd0aEluQml0cz0iMTYiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJQcm9tb3RlZEZpZWxkIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb25maWd1cmF0aW9uVmVyc2lv -bkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1ham9yVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hl -ZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExl -bmd0aEZpZWxkPSJOb09mRGF0YVNldEZvbGRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgVHlwZU5hbWU9InRu -czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRXh0ZW5zaW9uRmllbGRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFNvdXJjZSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9i -amVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVkVmFyaWFibGUiIFR5 -cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0lu -dGVydmFsSGludCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnN0aXR1dGVWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRhRGF0YVByb3BlcnRp -ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdWJsaXNo -ZWREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVi -bGlzaGVkRGF0YSIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBMZW5n -dGhGaWVsZD0iTm9PZlB1Ymxpc2hlZERhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RlZEZpZWxkcyIgVHlwZU5hbWU9InRuczpTaW1w -bGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdGVkRmllbGRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIi +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJhc2VDb25maWd1cmF0 +aW9uRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblByb3Bl +cnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZp +Z3VyYXRpb25Qcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVjb3Jk +UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlY29yZFByb3BlcnRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2VydGlmaWNhdGVHcm91cERhdGFUeXBlIiBCYXNl +VHlwZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNl +Q29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHVycG9zZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZDZXJ0aWZpY2F0ZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ2VydGlmaWNhdGVUeXBlcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZDZXJ0aWZpY2F0ZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklz +Q2VydGlmaWNhdGVBc3NpZ25lZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzQ2VydGlmaWNhdGVBc3NpZ25lZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiBM +ZW5ndGhGaWVsZD0iTm9PZklzQ2VydGlmaWNhdGVBc3NpZ25lZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbGlkYXRpb25PcHRpb25zIiBUeXBlTmFtZT0idG5zOlRydXN0TGlzdFZhbGlkYXRp +b25PcHRpb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhdGgiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5hbWU9 +InRuczpDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0 +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRPclJlcGxh +Y2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIg +VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iVHJhbnNhY3Rpb25FcnJvclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFcnJvciIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpCYXNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZp +Z3VyYXRpb25WZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOkJh +c2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29u +ZmlndXJhdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1 +ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbklkZW50aXR5IiBUeXBlTmFtZT0idG5zOkFwcGxp +Y2F0aW9uSWRlbnRpdHlEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDZXJ0 +aWZpY2F0ZUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNlcnRpZmljYXRlR3JvdXBzIiBUeXBlTmFtZT0idG5zOkNlcnRpZmljYXRlR3JvdXBEYXRh +VHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDZXJ0aWZpY2F0ZUdyb3VwcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6U2VydmVy +RW5kcG9pbnREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50RW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RW5kcG9pbnRzIiBUeXBlTmFtZT0i +dG5zOkVuZHBvaW50RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50RW5kcG9pbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5U2V0dGluZ3MiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVNldHRpbmdzIiBUeXBl +TmFtZT0idG5zOlNlY3VyaXR5U2V0dGluZ3NEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1 +cml0eVNldHRpbmdzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJUb2tlblNldHRp +bmdzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRv +a2VuU2V0dGluZ3MiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuU2V0dGluZ3NEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZVc2VyVG9rZW5TZXR0aW5ncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZBdXRob3JpemF0aW9uU2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBdXRob3JpemF0aW9uU2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6QXV0 +aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +QXV0aG9yaXphdGlvblNlcnZpY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRhVHlwZSIgQmFz +ZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6QmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExl +bmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZBcHBsaWNhdGlvbk5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIExlbmd0aEZpZWxkPSJOb09mQXBwbGljYXRpb25OYW1lcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZGRpdGlvbmFsU2VydmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mQWRkaXRpb25hbFNlcnZlcnMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRW5kcG9pbnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29y +ZERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBTb3VyY2VUeXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5h +bWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5ldHdvcmtOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlBvcnQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlckVuZHBv +aW50RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RW5kcG9pbnREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOkJh +c2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBM +ZW5ndGhGaWVsZD0iTm9PZlJlY29yZFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTmFt +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpFbmRwb2ludERhdGFUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9ydCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNv +dXJjZVR5cGU9InRuczpFbmRwb2ludERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVuZHBvaW50VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuZHBvaW50VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mRW5kcG9pbnRVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5U2V0 +dGluZ05hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlTZXR0aW5nTmFtZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0i +Tm9PZlNlY3VyaXR5U2V0dGluZ05hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNw +b3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mVXNlclRva2VuU2V0dGluZ05hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2V0dGluZ05hbWVzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyVG9rZW5TZXR0aW5nTmFtZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmV2ZXJzZUNvbm5lY3RVcmxzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2ZXJzZUNvbm5lY3RVcmxzIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXZlcnNlQ29ubmVjdFVybHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vj +dXJpdHlTZXR0aW5nc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVj +b3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBl +TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5TW9kZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGVzIiBUeXBlTmFt +ZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlNb2Rl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eVBvbGljeVVyaXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy +aXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5UG9saWN5 +VXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNlQ29uZmln +dXJhdGlvblJlY29yZERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlY29y +ZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5U +eXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVHcm91cE5hbWUiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aG9yaXphdGlvblNlcnZp +Y2VOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdXRob3JpemF0aW9uU2VydmljZUNvbmZp +Z3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERh +dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBTb3VyY2VUeXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZpY2VDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZpY2VDZXJ0aWZp +Y2F0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckVuZHBvaW50U2V0dGluZ3MiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVO +YW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJl +RGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVz +IiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0 +YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBl +cyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +U2ltcGxlRGF0YVR5cGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpR +dWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFU +eXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 +cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24i IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1 -Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDeWNs -aWNEYXRhU2V0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0 -aW9uVGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkQWN0aW9u -RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3REYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0 -bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rp -b25UYXJnZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QWN0aW9uVGFyZ2V0cyIgVHlwZU5hbWU9InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZBY3Rpb25UYXJnZXRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjdGlvblN0YXRlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJZGxlIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRpbmciIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvbmUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF -bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGlvbk1ldGhv -ZERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkQWN0aW9uTWV0 -aG9kRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdERhdGFTZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpE -YXRhU2V0TWV0YURhdGFUeXBlIiBTb3VyY2VUeXBlPSJ0bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5 +ZT0iRW51bURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291 +cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFU +eXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGVmaW5pdGlvbiIg +VHlwZU5hbWU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1 +aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiBC +YXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBl +RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVBQmluYXJ5RmlsZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0 +dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5z +OkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9InRu +czpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0YVR5cGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2NoZW1hTG9jYXRpb24iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbGVIZWFkZXIiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWxlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWxlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQm9keSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUG9ydGFibGVR +dWFsaWZpZWROYW1lIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQb3J0YWJsZU5vZGVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lc3BhY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnNpZ25lZFJhdGlvbmFsTnVt +YmVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik51bWVyYXRvciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEZW5vbWluYXRvciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViU3RhdGUiIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBW +YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQYXVzZWQiIFZhbHVl +PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wZXJhdGlvbmFsIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjMi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJlT3BlcmF0aW9uYWwiIFZhbHVl +PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVTY2hlbWFI +ZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpT +dHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1l +PSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFt +ZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRh +VHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0 +bnM6RmllbGRNZXRhRGF0YSIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVOYW1lPSJ0bnM6Q29uZmln +dXJhdGlvblZlcnNpb25EYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZE1ldGFEYXRhIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRGbGFncyIgVHlw +ZU5hbWU9InRuczpEYXRhU2V0RmllbGRGbGFncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1 +aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZh +bHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmlu +Z0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0RmllbGRJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmll +bGQ9Ik5vT2ZQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFTZXRGaWVsZEZsYWdzIiBMZW5ndGhJbkJpdHM9IjE2 +IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u +ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRG +aWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYWpvclZlcnNpb24i +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWlub3JWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl +dEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh +dGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFT +ZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0YURhdGEiIFR5cGVO +YW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n +dGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh +dGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkRGF0 +YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNo +ZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhpbnQiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRUeXBlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVmFsdWUi +IFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5n +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzdGl0 +dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h +bWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFJ +dGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlw +ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERhdGEiIFR5cGVOYW1l +PSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNo +ZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hl +ZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlm +aWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNl +bGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRD +dXN0b21Tb3VyY2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNl +RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3ljbGljRGF0YVNldCIgVHlwZU5hbWU9 +Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkFjdGlvblRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblRhcmdldElkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXF1ZXN0RGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5 cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWN0aW9uVGFyZ2V0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblRhcmdldHMiIFR5cGVO YW1lPSJ0bnM6QWN0aW9uVGFyZ2V0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQWN0aW9uVGFy -Z2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rpb25NZXRob2RzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uTWV0aG9kcyIgVHlw -ZU5hbWU9InRuczpBY3Rpb25NZXRob2REYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25N -ZXRob2RzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09w -dGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzQ29kZSIgVmFs -dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlVGltZXN0YW1w -IiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXJUaW1l -c3RhbXAiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJj -ZVBpY29TZWNvbmRzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTZXJ2ZXJQaWNvU2Vjb25kcyIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlJhd0RhdGEiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3Jp -dGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1h -c2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXROYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJv -cGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRXcml0ZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5z -aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9 -InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2lu -dERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGll -cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9w -ZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBE -YXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQ -dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2Rl -IiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJT -dWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElk -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2Vy -dmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29y -a01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1 -Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0 -aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQ -cm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZH -cm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cElkIiBU -eXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJL -ZWVwQWxpdmVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZM -b2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIZWFkZXJMYXlvdXRVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGlu -Z3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpE -YXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVh -OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9u -UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRlckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0 -ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVy -R3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlv -blRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3Jr -QWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5l -dHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRh -VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdy -b3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z -OlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1l -c3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0 -bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZp -Y2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFt -ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIg +Z2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJBY3Rpb25TdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSWRsZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0aW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJEb25lIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3Rpb25NZXRob2REYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3REYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIg +U291cmNlVHlwZT0idG5zOlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkFjdGlvblRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0idG5zOkFjdGlvblRhcmdl +dERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkFjdGlvblRhcmdldHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mQWN0aW9uTWV0aG9kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvbk1ldGhvZHMiIFR5cGVOYW1lPSJ0bnM6QWN0aW9uTWV0 +aG9kRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQWN0aW9uTWV0aG9kcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll +bGRDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c0NvZGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBWYWx1ZT0iNCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2VQaWNvU2Vjb25kcyIgVmFsdWU9 +IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyUGljb1NlY29uZHMi +IFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSYXdEYXRhIiBW +YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy +aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 +V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 +TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 +aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 +cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ +dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz +YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z +OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGVhZGVyTGF5b3V0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRhdGFTZXRXcml0ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBl +IiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRXcml0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJTdWJDb25uZWN0aW9u +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29ubmVjdGlvblByb3BlcnRpZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25uZWN0aW9uUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlv +blByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIg VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlw -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9y -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRh -dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRh -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFz -ayIgVHlwZU5hbWU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkhlYWRlckxheW91dFVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1l -PSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy -aXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p -bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFJlYWRlclByb3Bl -cnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFT -ZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0 -dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgVHlwZU5hbWU9InVhOkV4dGVu -c2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIEJhc2VUeXBl +T2ZXcml0ZXJHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJXcml0ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6V3JpdGVyR3JvdXBEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZXcml0ZXJHcm91cHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVhZGVyR3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVhZGVyR3JvdXBzIiBUeXBlTmFtZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mUmVhZGVyR3JvdXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3Jr +SW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFU +eXBlIiBCYXNlVHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV0d29ya0ludGVyZmFjZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5 +cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBT +b3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRu +czpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv +dXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIi +IExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp +b25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFJlYWRlcnMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0UmVhZGVy +cyIgVHlwZU5hbWU9InRuczpEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +RGF0YVNldFJlYWRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpGaWVsZFRhcmdldERhdGFUeXBl -IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZFRhcmdldERhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgVHlwZU5hbWU9 -InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPdmVy -cmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmci -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2Fi -bGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMYXN0VXNh -YmxlVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik92 -ZXJyaWRlVmFsdWUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUi -IEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQYXJlbnROb2RlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJv -bGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi -U3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRzIiBUeXBl -TmFtZT0idG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJs -aXNoZWREYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9ucyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25z -IiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZDb25uZWN0aW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZEYXRhVHlwZSIg -QmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdGFuZGFsb25lU3Vi -c2NyaWJlZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERh -dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Rm9sZGVyIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRh -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgVHlw -ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZWN1cml0eUdyb3VwRGF0YVR5cGUiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlH -cm91cEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlY3VyaXR5R3JvdXBGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0i -Tm9PZlNlY3VyaXR5R3JvdXBGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlMaWZl -dGltZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNYXhGdXR1cmVLZXlDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhQYXN0S2V5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5 -cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJt -aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRp -ZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJv -cGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1c2hUYXJnZXRG -b2xkZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdXNo -VGFyZ2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdXNo -VGFyZ2V0Rm9sZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRv -a2VuVHlwZSIgVHlwZU5hbWU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWRLZXlDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXRyeUludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdXNoVGFyZ2V0UHJvcGVydGllcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1c2hUYXJnZXRQcm9wZXJ0aWVz -IiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdXNoVGFyZ2V0 -UHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eUdyb3VwcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3Jv -dXBzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3Vw -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1YkNv -bmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVk -RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -dWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUi -IExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0 -YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJT -dWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vi -c2NyaWJlZERhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3Vic2NyaWJlZERhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlN0YW5kYWxvbmVTdWJzY3Jp -YmVkRGF0YVNldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmliZWREYXRhU2V0cyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0Q2xhc3NlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc2VzIiBUeXBlTmFt -ZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldENsYXNz -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGVmYXVsdFNlY3VyaXR5S2V5U2Vydmlj -ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWZhdWx0 -U2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM -ZW5ndGhGaWVsZD0iTm9PZkRlZmF1bHRTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5R3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cHMiIFR5cGVOYW1lPSJ0bnM6U2VjdXJp -dHlHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5R3JvdXBzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1YlN1YktleVB1c2hUYXJnZXRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldHMiIFR5 -cGVOYW1lPSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9P -ZlB1YlN1YktleVB1c2hUYXJnZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJh -dGlvblZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0 -bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVz +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFt +ZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlckdyb3VwSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRl +cklkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT +ZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0 +YVNldEZpZWxkQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVj +ZWl2ZVRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIZWFkZXJMYXlvdXRVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0 +eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwSWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2Vy +dmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0 +aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5z +OktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdz +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaWJlZERhdGFTZXQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNl +dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJE +YXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNl +dERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRWYXJpYWJsZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRWYXJpYWJs +ZXMiIFR5cGVOYW1lPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZU +YXJnZXRWYXJpYWJsZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iRmllbGRUYXJnZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRJZCIgVHlwZU5h +bWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJp +YnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIFR5cGVOYW1lPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhh +bmRsaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3ZlcnJpZGVWYWx1ZSIgVHlwZU5hbWU9 +InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBMZW5ndGhJbkJpdHM9IjMyIj4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGFzdFVzYWJsZVZhbHVlIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0i +MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNj +cmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJv +bGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl +bmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRh +VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUHVibGlzaGVkRGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWRE +YXRhU2V0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJT +dWJDb25uZWN0aW9uRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Rh +bmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2Ny +aWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVNldEZvbGRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT +ZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaWJlZERhdGFTZXQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P +YmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5R3JvdXBGb2xkZXIiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwRm9sZGVy +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3VwRm9s +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2V5TGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RnV0dXJlS2V5Q291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UGFz +dEtleUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJt +aXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktl +eVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViS2V5 +UHVzaFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdXNoVGFyZ2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVzaFRhcmdldEZvbGRlciIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mUHVzaFRhcmdldEZvbGRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkS2V5 +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0 +cnlJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUHVzaFRhcmdldFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJQdXNoVGFyZ2V0UHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlW +YWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHVzaFRhcmdldFByb3BlcnRpZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJh +dGlvbjJEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hlZERhdGFTZXRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVkRGF0YVNldHMiIFR5 +cGVOYW1lPSJ0bnM6UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlB1 +Ymxpc2hlZERhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbm5lY3Rpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29ubmVjdGlv +bnMiIFR5cGVOYW1lPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZkNvbm5lY3Rpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvbkRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmliZWREYXRhU2V0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmliZWREYXRh +U2V0cyIgVHlwZU5hbWU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpYmVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGF0YVNldENsYXNzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NlcyIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURh +dGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRDbGFzc2VzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRlZmF1bHRTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVmYXVsdFNlY3VyaXR5S2V5U2VydmljZXMi +IFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZEZWZh +dWx0U2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1 +cml0eUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5R3JvdXBzIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXRzIiBUeXBlTmFtZT0idG5zOlB1YlN1Yktl +eVB1c2hUYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJTdWJLZXlQdXNoVGFyZ2V0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9u +UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVu +Z3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0T3JkZXJpbmdU +eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV +bmRlZmluZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFz +Y2VuZGluZ1dyaXRlcklkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJBc2NlbmRpbmdXcml0ZXJJZFNpbmdsZSIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVWFkcE5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVl +PSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFk +ZXIiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3Rh +bXAiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb1Nl +Y29uZHMiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0 +YVNldENsYXNzSWQiIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUHJvbW90ZWRGaWVsZHMiIFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VE +YXRhVHlwZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJHcm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFT +ZXRPcmRlcmluZ1R5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNv +bnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0 +IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0 IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h -bWU9IkRhdGFTZXRPcmRlcmluZ1R5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlVuZGVmaW5lZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQXNjZW5kaW5nV3JpdGVySWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xlIiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNP -cHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlB1Ymxpc2hlcklkIiBW -YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcm91cEhlYWRlciIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVyR3JvdXBJ -ZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBWZXJz -aW9uIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZXR3b3Jr -TWVzc2FnZU51bWJlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlNlcXVlbmNlTnVtYmVyIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUGF5bG9hZEhlYWRlciIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlRpbWVzdGFtcCIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJQaWNvU2Vjb25kcyIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQcm9tb3RlZEZpZWxkcyIgVmFsdWU9IjEwMjQiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVWFk -cFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwTWVz -c2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T3JkZXJpbmci -IFR5cGVOYW1lPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcE5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ09mZnNl -dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVi -bGlzaGluZ09mZnNldCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0i -Tm9PZlB1Ymxpc2hpbmdPZmZzZXQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExl -bmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3Nh -Z2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1l -PSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQx -NiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwVmVy -c2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3 -b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5z -OlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNldE1lc3Nh -Z2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZh -bCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZl -T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBy -b2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3JrTWVzc2Fn -ZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VIZWFkZXIiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRNZXNzYWdlSGVhZGVyIiBWYWx1 -ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaW5nbGVEYXRhU2V0TWVz -c2FnZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHVibGlz -aGVySWQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFT -ZXRDbGFzc0lkIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbHlUbyIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildy -aXRlckdyb3VwTmFtZSIgVmFsdWU9IjY0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw -ZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25O -ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr -IiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJNZXRhRGF0YVZlcnNpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik1lc3NhZ2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFZhbHVlPSI2NCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZEVuY29kaW5nMSIgVmFsdWU9IjEyOCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjI1 -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFZh -bHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWlub3JWZXJzaW9u -IiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZEVu -Y29kaW5nMiIgVmFsdWU9IjIwNDgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi -IEJhc2VUeXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25E -YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpK -c29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl -Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUW9zRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlRyYW5zbWl0UW9zRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbWl0 -UW9zUHJpb3JpdHlEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlY2VpdmVRb3NEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpRb3NEYXRhVHlwZSI+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVjZWl2 -ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNv -bm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3Zl -cnlBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtQ29ubmVj -dGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25U -cmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlBZGRyZXNz -IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBTb3VyY2VUeXBlPSJ0bnM6RGF0YWdyYW1D -b25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNj -b3ZlcnlBbm5vdW5jZVJhdGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzY292ZXJ5TWF4TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1Rb3MiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YWdy -YW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3Vw -VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdENv -dW50IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -UmVwZWF0RGVsYXkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBU -cmFuc3BvcnQyRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRy -YW5zcG9ydERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdERl -bGF5IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgU291cmNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVy -R3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3Mi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJR -b3NDYXRlZ29yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhZ3JhbVFvcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZEYXRhZ3JhbVFvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy -eUFubm91bmNlUmF0ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUb3BpYyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YWdyYW1EYXRhU2V0UmVhZGVy -VHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERh -dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRb3NDYXRlZ29yeSIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YWdyYW1Rb3Mi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhZ3JhbVFv -cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhZ3Jh -bVFvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvcGljIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENpcGhlclN1aXRlIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDaXBoZXJT -dWl0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJDaXBoZXJTdWl0ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNl -cnZlckNpcGhlclN1aXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ilplcm9SVFQiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlR3Jv -dXBJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmlm -eUNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVj -dGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnRE -YXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp -Y2UiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v -dFNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QmVzdEVmZm9ydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXRMZWFzdE9uY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkF0TW9zdE9uY2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkV4YWN0bHlPbmNlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJh -bnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0 -V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1l -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNl -VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9r -ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0 -YURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0YURhdGFVcGRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJE -YXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRl -clRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNh -dGlvblByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6QnJva2VyVHJh -bnNwb3J0UXVhbGl0eU9mU2VydmljZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRh -UXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVm -TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkVsZW1lbnRBZGQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkVsZW1lbnRNYXRjaCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iRWxlbWVudE1vZGlmeSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iRWxlbWVudFJlbW92ZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlV3JpdGVyIiBWYWx1ZT0iMTYiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlUmVhZGVyIiBWYWx1ZT0iMzIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlV3JpdGVyR3JvdXAiIFZh -bHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VSZWFk -ZXJHcm91cCIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -ZWZlcmVuY2VDb25uZWN0aW9uIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlJlZmVyZW5jZVB1YkRhdGFzZXQiIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlU3ViRGF0YXNldCIgVmFsdWU9IjEwMjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlU2VjdXJpdHlHcm91cCIg -VmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNl -UHVzaFRhcmdldCIgVmFsdWU9IjQwOTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNv -bmZpZ3VyYXRpb25NYXNrIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZNYXNr -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJ -bnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25JbmRleCIgVHlwZU5hbWU9 -Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cEluZGV4IiBUeXBlTmFt -ZT0ib3BjOlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0 -aW9uRWxlbWVudCIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IklkZW50aWZpZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkRpYWdub3N0aWNzTGV2ZWwiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkJhc2ljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBZHZhbmNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW5mbyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -TG9nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIg -VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0 -aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9u -IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFs -dWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSnNvbk5ldHdvcmtNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldENsYXNzSWQiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1lc3NhZ2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZXMi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTWVzc2FnZXMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSnNvbkRhdGFTZXRNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1i -ZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh -dGFWZXJzaW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU -aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBheWxvYWQiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklk -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRX -cml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -cml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +bWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09w +dGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wIiBWYWx1 +ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQaWNvU2Vjb25kcyIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0i +NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNYWpvclZlcnNpb24iIFZhbHVl +PSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVmFs +dWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcXVlbmNlTnVtYmVy +IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl +PSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBEYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJlZFNpemUi +IFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01l +c3NhZ2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE9mZnNldCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9mZnNl +dCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0 +Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0 +d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwTmV0d29ya01lc3NhZ2VD +b250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVu +dE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2ZU9mZnNldCIgVHlwZU5hbWU9Im9w +YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9jZXNzaW5nT2Zmc2V0IiBUeXBl +TmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik5ldHdvcmtNZXNzYWdlSGVhZGVyIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJEYXRhU2V0TWVzc2FnZUhlYWRlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU2luZ2xlRGF0YVNldE1lc3NhZ2UiIFZhbHVlPSI0IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlB1Ymxpc2hlcklkIiBWYWx1ZT0iOCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVmFsdWU9IjE2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGx5VG8iIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFZhbHVl +PSI2NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3Jp +dGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIg +SXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0 +ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURh +dGFWZXJzaW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +ZXF1ZW5jZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVGltZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJN +ZXNzYWdlVHlwZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFTZXRXcml0ZXJOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRmllbGRFbmNvZGluZzEiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUHVibGlzaGVySWQiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVmFsdWU9IjEwMjQiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGRFbmNvZGluZzIiIFZhbHVlPSIyMDQ4 +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpE +YXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdv +cmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRN +YXNrIiBUeXBlTmFtZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlFvc0Rh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBl +IiBCYXNlVHlwZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc21pdFFvc1ByaW9yaXR5RGF0YVR5cGUi +IEJhc2VUeXBlPSJ0bnM6VHJhbnNtaXRRb3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eUxhYmVsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWNlaXZlUW9zRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBl +IiBCYXNlVHlwZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eUxhYmVsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rp +b25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0 +YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgU291cmNlVHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh +dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QW5ub3VuY2VSYXRlIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeU1h +eE1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlFvc0NhdGVnb3J5IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEYXRhZ3JhbVFvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRhdGFncmFtUW9zIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBM +ZW5ndGhGaWVsZD0iTm9PZkRhdGFncmFtUW9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIgVHlwZU5hbWU9Im9wYzpC +eXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiBUeXBlTmFt +ZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiBC +YXNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIg +U291cmNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXREZWxheSIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIFNvdXJjZVR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3Mi +IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1R +b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlBbm5vdW5jZVJhdGUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9waWMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBC +YXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJ1YTpFeHRl +bnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1Rb3MiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUb3BpYyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRHRsc1B1YlN1YkNvbm5l +Y3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDbGllbnRDaXBoZXJTdWl0ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2lwaGVyU3VpdGVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2lwaGVyU3VpdGVzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDaXBoZXJTdWl0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJaZXJvUlRUIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJpZnlDbGllbnRDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw +ZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3RTcGVjaWZpZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJlc3RFZmZvcnQiIFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TGVhc3RPbmNlIiBWYWx1ZT0i +MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBdE1vc3RPbmNlIiBWYWx1ZT0i +MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGFjdGx5T25jZSIgVmFsdWU9 +IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpX +cml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVl +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNv +dXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +dXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6 +QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJh +bnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVk +RGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9m +U2VydmljZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUXVldWVOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVXBkYXRl +VGltZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9y +dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZERlbGl2 +ZXJ5R3VhcmFudGVlIiBUeXBlTmFtZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp +Y2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIExlbmd0aEluQml0cz0i +MzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbGVtZW50 +QWRkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbGVtZW50 +TWF0Y2giIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVsZW1l +bnRNb2RpZnkiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVs +ZW1lbnRSZW1vdmUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlJlZmVyZW5jZVdyaXRlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlZmVyZW5jZVJlYWRlciIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVdyaXRlckdyb3VwIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlUmVhZGVyR3JvdXAiIFZhbHVlPSIxMjgi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQ29ubmVjdGlvbiIg +VmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VQ +dWJEYXRhc2V0IiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlJlZmVyZW5jZVN1YkRhdGFzZXQiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVNlY3VyaXR5R3JvdXAiIFZhbHVlPSIyMDQ4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVB1c2hUYXJnZXQiIFZhbHVlPSI0 +MDk2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uTWFzayIgVHlw +ZU5hbWU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVsZW1lbnRJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25uZWN0aW9uSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3JvdXBJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi +U3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvbkVsZW1lbnQiIFR5cGVOYW1l +PSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJZGVudGlmaWVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEaWFnbm9zdGljc0xldmVsIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNpYyIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWR2YW5jZWQiIFZh +bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm8iIFZhbHVlPSIy +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIgVmFsdWU9IjMiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVidWciIFZhbHVlPSI0IiAvPg0KICA8L29w +YzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlB1YlN1YkRp +YWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbmZvcm1hdGlvbiIgVmFsdWU9IjAiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJyb3IiIFZhbHVlPSIxIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr +TWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXNzYWdlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk1lc3NhZ2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0TWVzc2Fn +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRh -VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJKc29uQXBwbGljYXRpb25EZXNjcmlwdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvblNlcnZl -ckVuZHBvaW50c01lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxp -Y2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRz -IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5k -cG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9Ikpzb25TdGF0dXNNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0N5Y2xpYyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idG5z -OlB1YlN1YlN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV4dFJlcG9ydFRpbWUiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJ -ZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -VHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -aW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDb25uZWN0aW9uIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJK -c29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +cGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgVHlwZU5hbWU9 +InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQYXlsb2FkIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpz +b25EYXRhU2V0TWV0YURhdGFNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJv -cGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFjdGlv -blRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -Y3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0idG5zOkFjdGlvblRhcmdldERhdGFUeXBlIiBMZW5ndGhG -aWVsZD0iTm9PZkFjdGlvblRhcmdldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXNwb25zZSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFjdGlvbk1ldGhvZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25NZXRob2RzIiBUeXBlTmFtZT0idG5zOkFj -dGlvbk1ldGhvZERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkFjdGlvbk1ldGhvZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNv -bkFjdGlvblJlc3BvbmRlck1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb24iIFR5cGVOYW1lPSJ0bnM6 -UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25OZXR3b3JrTWVzc2FnZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2Fn -ZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVi -bGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VBZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvcnJlbGF0aW9uRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdG9ySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1lc3NhZ2VzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZXMiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTWVzc2FnZXMiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlvblJlcXVl -c3RNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGFWZXJzaW9uIiBUeXBl -TmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblN0YXRlIiBUeXBlTmFtZT0idG5zOkFjdGlvblN0YXRl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGF5bG9hZCIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJKc29uQWN0aW9uUmVzcG9uc2VNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3Jp -dGVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -cml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0YURhdGFWZXJzaW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9u -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25TdGF0 -ZSIgVHlwZU5hbWU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBh -eWxvYWQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxp -YXNOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGFzc3dvcmRPcHRpb25zTWFz -ayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN1cHBvcnRJbml0aWFsUGFzc3dvcmRDaGFuZ2UiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1cHBvcnREaXNhYmxlVXNlciIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydERpc2FibGVEZWxldGVG -b3JVc2VyIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdXBw -b3J0Tm9DaGFuZ2VGb3JVc2VyIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTdXBwb3J0RGVzY3JpcHRpb25Gb3JVc2VyIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNVcHBlckNhc2VDaGFyYWN0ZXJzIiBWYWx1 -ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNMb3dlckNh -c2VDaGFyYWN0ZXJzIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUmVxdWlyZXNEaWdpdENoYXJhY3RlcnMiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNTcGVjaWFsQ2hhcmFjdGVycyIgVmFsdWU9IjI1NiIg -Lz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJVc2VyQ29uZmlndXJhdGlvbk1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0 -cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0RlbGV0ZSIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vQ2hhbmdlQnlVc2VyIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdXN0Q2hhbmdlUGFzc3dvcmQiIFZhbHVl -PSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0 -bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRW5jb2RlZFRpY2tldCI+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEdXBsZXgiIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZ1bGwiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhhbGYiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIyIiAvPg0KICA8L29w -YzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkludGVyZmFj -ZUFkbWluU3RhdHVzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJVcCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RG93biIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdGlu -ZyIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy -YXRlZFR5cGUgTmFtZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXAiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvd24iIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlRlc3RpbmciIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRvcm1hbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vdFByZXNlbnQiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ikxvd2VyTGF5ZXJEb3duIiBWYWx1ZT0iNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOZWdvdGlhdGlvblN0YXR1cyIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5Qcm9ncmVz -cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29tcGxldGUi -IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9 -IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9OZWdvdGlhdGlvbiIgVmFs -dWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 -cGUgTmFtZT0iVHNuRmFpbHVyZUNvZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik5vRmFpbHVyZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iSW5zdWZmaWNpZW50QmFuZHdpZHRoIiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN1ZmZpY2llbnRSZXNvdXJjZXMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc3VmZmljaWVudFRyYWZm -aWNDbGFzc0JhbmR3aWR0aCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RyZWFtSWRJblVzZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iU3RyZWFtRGVzdGluYXRpb25BZGRyZXNzSW5Vc2UiIFZhbHVlPSI1IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbVByZWVtcHRlZEJ5SGlnaGVyUmFuayIg -VmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGF0ZW5jeUhhc0No -YW5nZWQiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVncmVz -c1BvcnROb3RBdmJDYXBhYmxlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJVc2VEaWZmZXJlbnREZXN0aW5hdGlvbkFkZHJlc3MiIFZhbHVlPSI5IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik91dE9mTXNycFJlc291cmNlcyIgVmFsdWU9IjEw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik91dE9mTW1ycFJlc291cmNlcyIg -VmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNhbm5vdFN0b3Jl -RGVzdGluYXRpb25BZGRyZXNzIiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUHJpb3JpdHlJc05vdEFuU3JjQ2xhc3MiIFZhbHVlPSIxMyIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNYXhGcmFtZVNpemVUb29MYXJnZSIgVmFsdWU9IjE0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1heEZhbkluUG9ydHNMaW1pdFJlYWNo -ZWQiIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaXJzdFZh -bHVlQ2hhbmdlZEZvclN0cmVhbUlkIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVmxhbkJsb2NrZWRPbkVncmVzcyIgVmFsdWU9IjE3IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZsYW5UYWdnaW5nRGlzYWJsZWRPbkVncmVzcyIgVmFsdWU9 -IjE4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNyQ2xhc3NQcmlvcml0eU1p -c21hdGNoIiBWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmVh -dHVyZU5vdFByb3BhZ2F0ZWQiIFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJNYXhMYXRlbmN5RXhjZWVkZWQiIFZhbHVlPSIyMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcmlkZ2VEb2VzTm90UHJvdmlkZU5ldHdvcmtJZCIgVmFsdWU9IjIy -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbVRyYW5zZm9ybU5vdFN1 -cHBvcnRlZCIgVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -cmVhbUlkVHlwZU5vdFN1cHBvcnRlZCIgVmFsdWU9IjI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkZlYXR1cmVOb3RTdXBwb3J0ZWQiIFZhbHVlPSIyNSIgLz4NCiAgPC9vcGM6 -RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUc25TdHJlYW1T -dGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNv -bmZpZ3VyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -ZWFkeSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3BlcmF0 -aW9uYWwiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVycm9y -IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJUc25UYWxrZXJTdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWR5IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzbkxpc3RlbmVyU3RhdHVzIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkeSIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGFydGlhbEZhaWxlZCIgVmFsdWU9 -IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBWYWx1ZT0iMyIg -Lz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJDaGFzc2lzSWRTdWJ0eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJDaGFzc2lzQ29tcG9uZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnRlcmZhY2VBbGlhcyIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUG9ydENvbXBvbmVudCIgVmFsdWU9IjMiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWFjQWRkcmVzcyIgVmFsdWU9IjQiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya0FkZHJlc3MiIFZhbHVlPSI1IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludGVyZmFjZU5hbWUiIFZhbHVlPSI2IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvY2FsIiBWYWx1ZT0iNyIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQb3J0 -SWRTdWJ0eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJbnRlcmZhY2VBbGlhcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUG9ydENvbXBvbmVudCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTWFjQWRkcmVzcyIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTmV0d29ya0FkZHJlc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkludGVyZmFjZU5hbWUiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkFnZW50Q2lyY3VpdElkIiBWYWx1ZT0iNiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb2NhbCIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTWFuQWRkcklmU3VidHlw -ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u -ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUG9ydFJlZiIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3lzdGVtUG9ydE51bWJl -ciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hcHBpbmdVcmkiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHlMYWJlbCIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eVZhbHVl -X1BDUCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3Jp -dHlWYWx1ZV9EU0NQIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJl -c3NUeFBvcnRUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFkZHJlc3NTdWJ0eXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1hbkFkZHJlc3MiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHhFbmFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJMZW4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWZTdWJ0eXBlIiBUeXBlTmFtZT0idG5zOk1hbkFkZHJJZlN1YnR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3NTdWJ0eXBlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWZTdWJ0eXBlIiBUeXBlTmFtZT0idG5zOk1h -bkFkZHJJZlN1YnR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZklkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJMbGRwVGx2VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUbHZUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRsdkluZm8iIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNl -dD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3RoZXIiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGVhdGVyIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcmlkZ2UiIFZhbHVlPSI0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldsYW5BY2Nlc3NQb2ludCIgVmFsdWU9IjgiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm91dGVyIiBWYWx1ZT0iMTYiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVsZXBob25lIiBWYWx1ZT0iMzIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRG9jc2lzQ2FibGVEZXZpY2UiIFZhbHVlPSI2NCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0aW9uT25seSIgVmFsdWU9IjEy -OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDdmxhbkNvbXBvbmVudCIgVmFs -dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdmxhbkNvbXBvbmVu -dCIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUd29Qb3J0 -TWFjUmVsYXkiIFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNl -Tm9kZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy -ZW5jZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ -c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlRhcmdldE5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VMaXN0 -RW50cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iSWRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJOdW1lcmljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdHJpbmciIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikd1 -aWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wYXF1ZSIg -VmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iTm9kZUNsYXNzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3RUeXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcm1pc3Npb25UeXBlIiBMZW5ndGhJ -bkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QnJvd3NlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFk -Um9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJXcml0ZUF0dHJpYnV0ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iV3JpdGVSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlSGlzdG9yaXppbmciIFZhbHVlPSIxNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSZWFkSGlzdG9yeSIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRIaXN0b3J5IiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1vZGlmeUhpc3RvcnkiIFZhbHVlPSI1MTIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlSGlzdG9yeSIgVmFsdWU9IjEwMjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVjZWl2ZUV2ZW50cyIgVmFsdWU9 -IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FsbCIgVmFsdWU9IjQw -OTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWRkUmVmZXJlbmNlIiBWYWx1 -ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmVSZWZlcmVu -Y2UiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxl -dGVOb2RlIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QWRkTm9kZSIgVmFsdWU9IjY1NTM2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSI4 -IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u -ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJl -YWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRX -cml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9y -eVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rv -cnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2Vt -YW50aWNDaGFuZ2UiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0iNjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWNjZXNzTGV2ZWxFeFR5cGUiIExlbmd0 -aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJDdXJyZW50UmVhZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ3VycmVudFdyaXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJIaXN0b3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTZW1hbnRpY0NoYW5nZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmF0b21pY1dyaXRlIiBWYWx1ZT0iNTEyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlRnVsbEFycmF5T25seSIgVmFsdWU9 -IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9TdWJEYXRhVHlwZXMi -IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vblZvbGF0 -aWxlIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb25z -dGFudCIgVmFsdWU9IjgxOTIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -RW51bWVyYXRlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmllclR5cGUiIExlbmd0aEluQml0cz0iOCIg -SXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi -IFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1YnNjcmliZVRv -RXZlbnRzIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0 -b3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlz -dG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvblR5cGUiIExlbmd0aEluQml0 -cz0iMTYiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWdu -aW5nUmVxdWlyZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkVuY3J5cHRpb25SZXF1aXJlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iU2Vzc2lvblJlcXVpcmVkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJBcHBseVJlc3RyaWN0aW9uc1RvQnJvd3NlIiBWYWx1ZT0iOCIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSb2xl -UGVybWlzc2lvblR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUm9sZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6UGVybWlzc2lvblR5cGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 -YVR5cGVEZWZpbml0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVU -eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT -dHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0cnVjdHVyZVdpdGhTdWJ0eXBlZFZhbHVlcyIgVmFsdWU9IjMiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb25XaXRoU3VidHlwZWRWYWx1ZXMiIFZhbHVl -PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlN0cnVjdHVyZUZpZWxkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlN0cnVjdHVyZURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9u -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5h -bWU9InRuczpTdHJ1Y3R1cmVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIg -VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhG -aWVsZD0iTm9PZkZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJBcmd1bWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkVudW1WYWx1ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVt -VmFsdWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbGlkQml0cyIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -Ok9wYXF1ZVR5cGUgTmFtZT0iTm9ybWFsaXplZFN0cmluZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWVTdHJpbmciPg0K -ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlU3RyaW5n -Ij4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRHVyYXRp -b24iPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJVdGNU -aW1lIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTG9j -YWxlSWQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVGltZVpvbmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkJvb2xl -YW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJJbmRleCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkludGVnZXJJZCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw -ZSBOYW1lPSJBcHBsaWNhdGlvblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25E -ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBcHBsaWNhdGlvblVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvblR5cGUiIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNj -b3ZlcnlQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 -aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r -ZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJldHVybkRpYWdub3N0aWNzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkF1ZGl0RW50cnlJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lb3V0SGludCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZVJlc3VsdCIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlRGlhZ25vc3RpY3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0cmluZ1RhYmxlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -dHJpbmdUYWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIFR5 -cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJWZXJzaW9uVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlRmF1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1 -ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZl -clVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25sZXNzSW52 -b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m -U2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJ -ZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJ -ZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24i -IExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkSWQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmwi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +cGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVz +dGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1l +dGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFwcGxpY2F0 +aW9uRGVzY3JpcHRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl ckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk PSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxp -dHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNh -cGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgQmFzZVR5cGU9 +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25TZXJ2ZXJFbmRwb2ludHNNZXNzYWdlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3Nh +Z2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNz +YWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +dWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRw +b2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uU3RhdHVz +TWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSXNDeWNsaWMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InRuczpQdWJTdWJTdGF0ZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRSZXBvcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29ubmVjdGlvbiIgVHlwZU5h +bWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVz +c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uVGFyZ2V0cyIgVHlwZU5h +bWU9InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25UYXJn +ZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdCIgVHlwZU5hbWU9InRuczpEYXRh +U2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2UiIFR5cGVO +YW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZBY3Rpb25NZXRob2RzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQWN0aW9uTWV0aG9kcyIgVHlwZU5hbWU9InRuczpBY3Rpb25NZXRob2REYXRhVHlwZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25NZXRob2RzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25SZXNwb25kZXJNZXNz +YWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25uZWN0aW9uIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRh +VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uQWN0aW9uTmV0d29ya01lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlQWRkcmVzcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb3JyZWxhdGlv +bkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RvcklkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRpbWVvdXRIaW50IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZNZXNzYWdlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2VzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhG +aWVsZD0iTm9PZk1lc3NhZ2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25SZXF1ZXN0TWVzc2FnZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVy +SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9u +VGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgVHlwZU5hbWU9InRuczpDb25maWd1cmF0 +aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWlub3JWZXJzaW9u +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFt +cCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3Nh +Z2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +Y3Rpb25TdGF0ZSIgVHlwZU5hbWU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlBheWxvYWQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlv +blJlc3BvbnNlTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uVGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lv +biIgVHlwZU5hbWU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uU3RhdGUiIFR5cGVOYW1lPSJ0bnM6QWN0 +aW9uU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXlsb2FkIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzTmFtZSIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlZE5v +ZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJl +bmNlZE5vZGVzIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlZE5vZGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IlBhc3N3b3JkT3B0aW9uc01hc2siIExlbmd0aEluQml0cz0iMzIi +IElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdXBwb3J0SW5p +dGlhbFBhc3N3b3JkQ2hhbmdlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdXBwb3J0RGlzYWJsZVVzZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlN1cHBvcnREaXNhYmxlRGVsZXRlRm9yVXNlciIgVmFsdWU9IjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydE5vQ2hhbmdlRm9yVXNlciIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydERlc2Ny +aXB0aW9uRm9yVXNlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlJlcXVpcmVzVXBwZXJDYXNlQ2hhcmFjdGVycyIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcXVpcmVzTG93ZXJDYXNlQ2hhcmFjdGVycyIgVmFsdWU9 +IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcXVpcmVzRGlnaXRDaGFy +YWN0ZXJzIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +cXVpcmVzU3BlY2lhbENoYXJhY3RlcnMiIFZhbHVlPSIyNTYiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVXNlckNvbmZpZ3VyYXRpb25N +YXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTm9EZWxldGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJOb0NoYW5nZUJ5VXNlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTXVzdENoYW5nZVBhc3N3b3JkIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyTWFuYWdlbWVu +dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOlVzZXJDb25maWd1cmF0aW9u +TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl +IE5hbWU9IkVuY29kZWRUaWNrZXQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRHVwbGV4IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJGdWxsIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJIYWxmIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXAiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvd24iIFZhbHVlPSIxIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3RpbmciIFZhbHVlPSIyIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkludGVy +ZmFjZU9wZXJTdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVwIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEb3duIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUZXN0 +aW5nIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3du +IiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEb3JtYW50IiBW +YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3RQcmVzZW50IiBW +YWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb3dlckxheWVyRG93 +biIgVmFsdWU9IjYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluUHJvZ3Jlc3MiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbXBsZXRlIiBWYWx1ZT0iMSIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik5vTmVnb3RpYXRpb24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzbkZhaWx1cmVD +b2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b0ZhaWx1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +c3VmZmljaWVudEJhbmR3aWR0aCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iSW5zdWZmaWNpZW50UmVzb3VyY2VzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN1ZmZpY2llbnRUcmFmZmljQ2xhc3NCYW5kd2lkdGgiIFZh +bHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbUlkSW5Vc2Ui +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbURlc3Rp +bmF0aW9uQWRkcmVzc0luVXNlIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdHJlYW1QcmVlbXB0ZWRCeUhpZ2hlclJhbmsiIFZhbHVlPSI2IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxhdGVuY3lIYXNDaGFuZ2VkIiBWYWx1ZT0iNyIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFZ3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZSIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlRGlmZmVyZW50 +RGVzdGluYXRpb25BZGRyZXNzIiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJPdXRPZk1zcnBSZXNvdXJjZXMiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJPdXRPZk1tcnBSZXNvdXJjZXMiIFZhbHVlPSIxMSIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDYW5ub3RTdG9yZURlc3RpbmF0aW9uQWRkcmVzcyIg +VmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlByaW9yaXR5SXNO +b3RBblNyY0NsYXNzIiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTWF4RnJhbWVTaXplVG9vTGFyZ2UiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJNYXhGYW5JblBvcnRzTGltaXRSZWFjaGVkIiBWYWx1ZT0iMTUiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmlyc3RWYWx1ZUNoYW5nZWRGb3JTdHJlYW1J +ZCIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZsYW5CbG9j +a2VkT25FZ3Jlc3MiIFZhbHVlPSIxNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWbGFuVGFnZ2luZ0Rpc2FibGVkT25FZ3Jlc3MiIFZhbHVlPSIxOCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTckNsYXNzUHJpb3JpdHlNaXNtYXRjaCIgVmFsdWU9IjE5IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZlYXR1cmVOb3RQcm9wYWdhdGVkIiBW +YWx1ZT0iMjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4TGF0ZW5jeUV4 +Y2VlZGVkIiBWYWx1ZT0iMjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJp +ZGdlRG9lc05vdFByb3ZpZGVOZXR3b3JrSWQiIFZhbHVlPSIyMiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJTdHJlYW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWQiIFZhbHVlPSIyMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJlYW1JZFR5cGVOb3RTdXBwb3J0 +ZWQiIFZhbHVlPSIyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGZWF0dXJl +Tm90U3VwcG9ydGVkIiBWYWx1ZT0iMjUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuU3RyZWFtU3RhdGUiIExlbmd0aEluQml0cz0i +MzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb25maWd1cmluZyIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wZXJhdGlvbmFsIiBWYWx1ZT0iMyIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjQiIC8+DQogIDwv +b3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuVGFs +a2VyU3RhdHVzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS +ZWFkeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVk +IiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlBhcnRpYWxGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQ2hhc3Npc0lkU3VidHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2hhc3Np +c0NvbXBvbmVudCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SW50ZXJmYWNlQWxpYXMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlBvcnRDb21wb25lbnQiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hY0FkZHJlc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5ldHdvcmtBZGRyZXNzIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJJbnRlcmZhY2VOYW1lIiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJMb2NhbCIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUG9ydElkU3VidHlwZSIgTGVuZ3RoSW5C +aXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW50ZXJmYWNlQWxpYXMi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBvcnRDb21wb25l +bnQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hY0FkZHJl +c3MiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5ldHdvcmtB +ZGRyZXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnRl +cmZhY2VOYW1lIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB +Z2VudENpcmN1aXRJZCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTG9jYWwiIFZhbHVlPSI3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1hbkFkZHJJZlN1YnR5cGUiIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIxIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBvcnRSZWYiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5c3RlbVBvcnROdW1iZXIiIFZhbHVlPSIzIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByaW9y +aXR5TWFwcGluZ0VudHJ5VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNYXBwaW5nVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHlWYWx1ZV9QQ1AiIFR5cGVOYW1lPSJvcGM6 +Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5VmFsdWVfRFNDUCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzU3Vi +dHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW5B +ZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR4 +RW5hYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZGRyTGVuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklm +U3VidHlwZSIgVHlwZU5hbWU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSWZJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRy +ZXNzVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRyZXNzU3VidHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklmU3VidHlwZSIgVHlwZU5hbWU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSWZJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGxkcFRs +dlR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGx2VHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUbHZJbmZvIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTGxkcFN5c3RlbUNhcGFiaWxp +dGllc01hcCIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik90aGVyIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJSZXBlYXRlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQnJpZGdlIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJXbGFuQWNjZXNzUG9pbnQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlJvdXRlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlRlbGVwaG9uZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkRvY3Npc0NhYmxlRGV2aWNlIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iU3RhdGlvbk9ubHkiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iQ3ZsYW5Db21wb25lbnQiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ZsYW5Db21wb25lbnQiIFZhbHVlPSI1MTIiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHdvUG9ydE1hY1JlbGF5IiBWYWx1ZT0iMTAy +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlIiBUeXBlTmFt +ZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl +VHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9y +d2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy +Z2V0Tm9kZSIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvZ1JlY29yZCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lIiBUeXBl +TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V2ZXJpdHkiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRUeXBlIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5hbWUi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFj +ZUNvbnRleHQiIFR5cGVOYW1lPSJ0bnM6VHJhY2VDb250ZXh0RGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mQWRkaXRpb25hbERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsRGF0YSIgVHlwZU5hbWU9InRuczpOYW1l +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkFkZGl0aW9uYWxEYXRhIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvZ1JlY29yZHNE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTG9nUmVjb3JkQXJyYXkiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMb2dSZWNvcmRBcnJheSIgVHlwZU5hbWU9InRuczpMb2dSZWNvcmQiIExl +bmd0aEZpZWxkPSJOb09mTG9nUmVjb3JkQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3BhbkNvbnRleHREYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFjZUlk +IiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGFuSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDY0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYWNlQ29udGV4dERhdGFUeXBlIiBCYXNlVHlwZT0idG5z +OlNwYW5Db250ZXh0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhY2VJZCIgVHlw +ZU5hbWU9Im9wYzpHdWlkIiBTb3VyY2VUeXBlPSJ0bnM6U3BhbkNvbnRleHREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwYW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50NjQiIFNvdXJj +ZVR5cGU9InRuczpTcGFuQ29udGV4dERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UGFyZW50U3BhbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBhcmVudElkZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5hbWVWYWx1ZVBh +aXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1 +ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTG9nUmVjb3JkTWFzayIgTGVuZ3RoSW5CaXRzPSIz +MiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v +bmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50VHlw +ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlTm9k +ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlTmFt +ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhY2VDb250 +ZXh0IiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZGRpdGlv +bmFsRGF0YSIgVmFsdWU9IjE2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IklkVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5zcGVjaWZpZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGUiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMTYiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0iNjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmlldyIgVmFsdWU9IjEyOCIgLz4NCiAg +PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJt +aXNzaW9uVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUmVhZFJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVBdHRyaWJ1dGUiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0i +OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUhpc3Rvcml6aW5nIiBW +YWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZCIgVmFsdWU9 +IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlIiBWYWx1ZT0iNjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZEhpc3RvcnkiIFZhbHVlPSIx +MjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0SGlzdG9yeSIgVmFs +dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNb2RpZnlIaXN0b3J5 +IiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZUhp +c3RvcnkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +Y2VpdmVFdmVudHMiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNhbGwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkFkZFJlZmVyZW5jZSIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iUmVtb3ZlUmVmZXJlbmNlIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iRGVsZXRlTm9kZSIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFkZE5vZGUiIFZhbHVlPSI2NTUzNiIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbFR5 +cGUiIExlbmd0aEluQml0cz0iOCIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlNlbWFudGljQ2hhbmdlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzV3JpdGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXBXcml0ZSIgVmFsdWU9IjY0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vz +c0xldmVsRXhUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VtYW50aWNDaGFuZ2UiIFZhbHVlPSIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0i +NjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljUmVhZCIgVmFs +dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNXcml0 +ZSIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUZ1 +bGxBcnJheU9ubHkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik5vU3ViRGF0YVR5cGVzIiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJOb25Wb2xhdGlsZSIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQ29uc3RhbnQiIFZhbHVlPSI4MTkyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBl +IiBMZW5ndGhJbkJpdHM9IjgiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rp +b25UeXBlIiBMZW5ndGhJbkJpdHM9IjE2IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iU2lnbmluZ1JlcXVpcmVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbmNyeXB0aW9uUmVxdWlyZWQiIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlc3Npb25SZXF1aXJlZCIgVmFsdWU9IjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwbHlSZXN0cmljdGlvbnNUb0Jyb3dz +ZSIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlBl +cm1pc3Npb25UeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iU3RydWN0dXJlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iU3RydWN0dXJlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHMiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuaW9uIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJ1Y3R1cmVXaXRoU3VidHlwZWRWYWx1ZXMi +IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuaW9uV2l0aFN1 +YnR5cGVkVmFsdWVzIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5z +aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5 +RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlE +aW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzT3B0aW9uYWwiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBCYXNlVHlwZT0idG5z +OkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWZhdWx0RW5jb2Rp +bmdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VE +YXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +cnVjdHVyZVR5cGUiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRmllbGQiIExlbmd0aEZp +ZWxkPSJOb09mRmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1EZWZpbml0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBl +RGVmaW5pdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmllbGRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRzIiBUeXBlTmFtZT0idG5z +OkVudW1GaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtVmFsdWVUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkludDY0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1GaWVsZCIgQmFzZVR5cGU9InRuczpFbnVtVmFsdWVU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkludDY0IiBT +b3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +c3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOkVu +dW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3B0aW9u +U2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0K +ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEZWNpbWFsU3Ry +aW5nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRHVy +YXRpb25TdHJpbmciPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBO +YW1lPSJUaW1lU3RyaW5nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 +cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx +dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpP +cGFxdWVUeXBlIE5hbWU9IkxvY2FsZUlkIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3Bj +OkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW5kZXgiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv +cGM6T3BhcXVlVHlwZSBOYW1lPSJJbnRlZ2VySWQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9 +IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNsaWVudCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50QW5kU2VydmVyIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNjb3ZlcnlTZXJ2ZXIiIFZhbHVl +PSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbk5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRp +b25UeXBlIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVxdWVzdEhl +YWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlw +ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVO +YW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VS +ZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRpbWUi +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vy +dmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXJpc1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlu +ZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25O +ZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVy +c09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNh +cGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3Jr +UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRu +czpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5z +dGFuY2VDZXJ0aWZpY2F0ZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iMCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTaWduQW5kRW5jcnlwdCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVXNlclRva2VuVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnlt +b3VzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyTmFt +ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2VydGlmaWNh +dGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlZFRv +a2VuIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVz +ZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9p +bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj +dXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRp +b24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBv +bGljeSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJHZXRFbmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl +YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZQcm9maWxlVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOlNlcnZlck9uTmV0d29yayIg -TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlIj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh -Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25B -bmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz -ZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1l -PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tl -bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRl -bnRpdHlUb2tlbnMiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0i -Tm9PZlVzZXJJZGVudGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9y -dFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 -aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2Zp -bGVVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv -ZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVV -cmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVuZHBvaW50cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlw -ZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50 -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBC -YXNlVHlwZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2Vy -dmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRTZXJ2 -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeUNv -bmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0idWE6 -U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iU2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iUmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJ -ZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRB -dCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlwZU5hbWU9InRuczpTZWN1 -cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1v -ZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyTmFtZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1l +cyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyTmFt +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNj +b3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxpbmUiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNw +b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVs +U2VjdXJpdHlUb2tlbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDaGFubmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVG9rZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDcmVhdGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9w +ZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdFR5cGUi +IFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRl +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXJ2ZXJQcm90b2NvbFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlU +b2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29mdHdhcmVD +ZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vz +c2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25U +aW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1h +eFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Np +b25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5 +cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTm9uY2Ui +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50 +RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVyRW5kcG9pbnRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -T3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lv -biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0 -eVRva2VuIiBUeXBlTmFtZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9z -ZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl -YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRl -RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25U -b2tlbiI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVh -dGVTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRu -czpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy -VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBv -aW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -c3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJv -cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6 -ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUi +QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNv +dXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4i +IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50 +aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNzd29yZCIgVHlwZU5hbWU9Im9w +YzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRo +bSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0 +bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlJz +YUVuY3J5cHRlZFNlY3JldCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkVjY0VuY3J5cHRlZFNlY3JldCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +clRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVT +ZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRl -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJF -bmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRu -czpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3 -YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJl -IiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0 -eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJ -ZGVudGl0eVRva2VuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2Vy -SWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tl -biI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElk -ZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5 -cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iUnNhRW5jcnlwdGVkU2VjcmV0Ij4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRWNjRW5jcnlw -dGVkU2VjcmV0Ij4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBU -eXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -Q2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRu -czpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3 -YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5 -cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3Bv -bnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2Fu -Y2VsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJDb250YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEw -MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9 -IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5n -SW50ZXJ2YWwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik5vZGVDbGFzcyIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTm9kZUlkIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3ltbWV0cmljIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVXNlckFjY2Vzc0xldmVsIiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0 -ODU3NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZSIgVmFsdWU9IjIw -OTcxNTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVEZWZpbml0 -aW9uIiBWYWx1ZT0iNDE5NDMwNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -b2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4Mzg4NjA4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVmFsdWU9IjE2Nzc3MjE2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjMzNTU0NDMxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMjY1MDEyMjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMjY1MDEzNDgiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZSIgVmFsdWU9IjI2NTAz -MjY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0i -MjY1NzEzODMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBl -IiBWYWx1ZT0iMjg2MDA0MzgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 -aG9kIiBWYWx1ZT0iMjY2MzI1NDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVmZXJlbmNlVHlwZSIgVmFsdWU9IjI2NTM3MDYwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlZpZXciIFZhbHVlPSIyNjUwMTM1NiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlcyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB -dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6 +U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMy +PSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FuY2VsQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1 +ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9 +IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1 +ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZh +bHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVy +IiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFi +bGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9y +aXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52 +ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0i +MTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2si +IFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVS +YW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildy +aXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIx +Njc3NzIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIz +MzU1NDQzMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFs +dWU9IjI2NTAxMjIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIg +VmFsdWU9IjI2NTAxMzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVj +dFR5cGUiIFZhbHVlPSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWYXJpYWJsZSIgVmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl +eHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxv +Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU -eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIg +PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVz +IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNw +ZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw +ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NM -ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFj -Y2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -aW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhv -ZEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs -YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVB -dHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yaXppbmciIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1 +dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0 +ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0 -cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h -bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJ +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5 +cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRl +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlv -biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VO -YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJh -c2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lm -aWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU -ZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZp -ZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw -bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl -cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 +YVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRl -VmFsdWUiIExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJl -bnROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 -YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l -PSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -eXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVz -dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExl -bmd0aEZpZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0U2VydmVyVXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJ -ZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2Vz -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0idG5z -OkFkZFJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB -ZGRSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVU -YXJnZXRSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0ZSIgVHlwZU5hbWU9InRuczpEZWxldGVO -b2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jl -c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs -ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VU -eXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Zv -cndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRh -cmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl -YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9E -ZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJO -b09mUmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlv -blNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIg -VmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xv -b3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlw -ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0 -aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxh -eU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVu -dE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9 -IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxl -IiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVmFsdWVGb3JWYXJpYWJsZVR5cGUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjQx -OTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm9sZVBlcm1pc3Npb25z -IiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbEV4IiBWYWx1ZT0iMzM1NTQ0MzIiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlRGlyZWN0 -aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJG -b3J3YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZl -cnNlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBW -YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1 -ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRuczpCcm93c2VEaXJlY3Rp -b24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1 -YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzc01hc2si -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0TWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0ZvcndhcmQiIFZhbHVlPSIy -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9Ijgi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSIx -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVmFs -dWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjYz -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJbmZvIiBW -YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUYXJnZXRJbmZvIiBW -YWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh -eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 -YXRpb25Qb2ludCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpC -eXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJWaWV3QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZW5lcmljQXR0cmlidXRl +VmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiBC +YXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp +ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJ0 +bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkF0dHJpYnV0ZVZhbHVl +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJBZGROb2Rlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h +bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v +ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGVkTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkFkZE5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNj -cmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQ -ZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVT -dWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZF -bGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVs -ZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExlbmd0aEZpZWxkPSJO -b09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVs -YXRpdmVQYXRoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRo -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBh -dGhzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0 -aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVn -aXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3Rl -cmVkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZ2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVtZXJpY1JhbmdlIj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50 -Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVh -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3Nh -Z2VTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -QnVmZmVyU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNoYW5uZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVy -eURhdGFEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpF -eHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFU -b1JldHVybiIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFUb1JldHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0i -NSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDYXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -SW5WaWV3IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZU -eXBlIiBWYWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRl -ZFRvIiBWYWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZUFuZCIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdp -c2VPciIgVmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZh -bHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVl -cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVS -ZWZlcmVuY2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVy -RWxlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJGaWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRl -bnRGaWx0ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExl -bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFu -ZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -TGl0ZXJhbE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFu -ZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFz -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBh -dGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3Bl -cmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlR5cGVEZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5n -dGhGaWVsZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1 -dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRl -eFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGlj -SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5h -bWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVt -ZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxl -bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl -IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE -YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3Jp -cHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURh -dGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5n -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBh -cnNpbmdSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJO -b09mUGFyc2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0 -IiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRh -U2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5 -RGF0YVNldHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1 -ZXJ5RGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9u -UG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIg -VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -VmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBz -VG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWFkUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0FkZCIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9BZGQiIFR5cGVOYW1lPSJ0 +bnM6QWRkTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9BZGQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNS +ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpBZGROb2Rlc1Jlc3Vs +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2Rl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRhcmdldFNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh +c3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNU +b0FkZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJl +c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1 +bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0RlbGV0ZSIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9EZWxldGUiIFR5 +cGVOYW1lPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9EZWxl +dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z +dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJl +bmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ +dGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUi +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZVdyaXRlTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIg +VmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNz +IiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQi +IFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRy +aWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy +QWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1 +ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURl +ZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0 +NDMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl +VHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5j +bHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3Vs +dE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJy +b3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp +c3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +VHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS +ZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYwIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz +Rm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3Mi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4 +cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1 +ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p +bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlw +ZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0ZWRNYXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VS +ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQi IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5n -IiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNv -bnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P -YmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJSZWFkRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0 -ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZl -bnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlsczIiIEJhc2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGlt -ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFp -bHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRG -aWx0ZXIiIFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iU29ydE9yZGVy -VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXNjZW5kaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJE -ZXNjZW5kaW5nIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTb3J0UnVsZUVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU29ydE9yZGVyIiBUeXBlTmFtZT0i -dG5zOlNvcnRPcmRlclR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkIiBU -eXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlsc1Nv -cnRlZCIgQmFzZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgU291cmNlVHlwZT0idG5zOlJl -YWRFdmVudERldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU29ydENsYXVzZSIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvcnRDbGF1c2Ui -IFR5cGVOYW1lPSJ0bnM6U29ydFJ1bGVFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlNvcnRDbGF1 -c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl -dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv -dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl -VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy -dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn -cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6 +QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp +Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aEVs +ZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1l IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRBbm5vdGF0aW9uRGF0 -YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlcyIgVHlwZU5hbWU9InVh -OkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmaWNhdGlvbklu -Zm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -SGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpIaXN0b3J5RGF0YSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExl -bmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZN -b2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0idG5zOk1vZGlmaWNhdGlvbkluZm8i -IExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu -dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMi -IFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2 -ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWRFdmVudCIgQmFzZVR5cGU9InRuczpIaXN0b3J5RXZlbnQi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZl -bnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJ0bnM6TW9kaWZp -Y2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 -UmVhZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJu -IiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhp -c3RvcnlSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 -UmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlS -ZWFkUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VU +bWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo +IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBU +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1h +aW5pbmdQYXRoSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mVGFyZ2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRhcmdldHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZUYXJnZXRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoIiBMZW5ndGhG +aWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5n +dGhGaWVsZD0iTm9PZk5vZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJlZ2lzdGVyIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i +Q291bnRlciI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik51bWVyaWNSYW5nZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91dCIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdM +ZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhC +eXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0i +dG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2Ui +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25O +b2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhdG9y +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcXVh +bHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzTnVsbCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW4i +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuIiBW +YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbk9y +RXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NU +aGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +TGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm90IiBW +YWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCZXR3ZWVuIiBWYWx1 +ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxpc3QiIFZhbHVlPSI5 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFsdWU9IjEwIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFTZXQiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5n -ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9Xcml0ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVzVG9Xcml0ZSIgVHlwZU5hbWU9InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVzVG9Xcml0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJXcml0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu -b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBk -YXRlRGV0YWlscyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5 -cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu -c2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFj -ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBW -YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVl -PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl -IE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9 -InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5z -ZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUi -IExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRXZl -bnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRh -dGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2 -ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRh +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBl +RGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0i +Tm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVJ +ZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVJ +ZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVOYW1lPSJ0bnM6Rmls +dGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmlsdGVyT3BlcmFuZHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJPcGVy +YW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWx0 +ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOkNvbnRl +bnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJh +bmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVyYW5kIiBCYXNlVHlw +ZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXgiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9w +ZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVO -YW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlRXZl -bnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mRXZlbnRJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25S -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3Bl -cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -T3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu +dEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0YXR1c0NvZGVzIiBU +eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29k +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmREaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhp -c3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIExlbmd0aEZpZWxkPSJOb09mSGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0 -ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRh -dGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Jq -ZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRo -b2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -bnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5w -dXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklu -cHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50 -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1l -PSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1l -dGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +T2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRS +ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxl +bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIExl +bmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlBh +cnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25vc3RpY0luZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2Ny +aXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBlcyIgVHlwZU5hbWU9 +InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVUeXBlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVybiIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1 +cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0 +aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRp +bnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRuczpQYXJzaW5nUmVz +dWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJs -ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5n -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmci -IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 -ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+ -DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -RGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UGVyY2VudCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNo -YW5nZVRyaWdnZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRv -cmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMi -IFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVO -YW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNh -cGFiaWxpdGllc0RlZmF1bHRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUcmVhdFVuY2VydGFpbkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3Bj -OkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1v -bml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -Z2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3Vs -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3Vs -dHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVz -ZVJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZp -bHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRv -cmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1l -IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl -ZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXZpc2VkQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpB -Z2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0lu -dGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZp -bHRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRvciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0 -b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIg -VHlwZU5hbWU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRl -UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Q +b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVGlt +ZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmVp +dGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxp +ZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFs +aWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVO +YW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJO +b09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlS +ZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlEYXRhIiBUeXBl TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRl -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 -b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVl -dWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZp -bHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFt -ZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -dGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVz -dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5n -TW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmluZ01vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRl -bUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 -b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0 -b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0 +b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1l +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVy +IiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRFdmVudERldGFpbHMyIiBCYXNlVHlw +ZT0idG5zOlJlYWRFdmVudERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVz +UGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnRE +ZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5cGU9 +InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBU +eXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWls +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU +eXBlIE5hbWU9IlNvcnRPcmRlclR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFzY2VuZGluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGVzY2VuZGluZyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU29ydFJ1bGVFbGVtZW50 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv +cnRPcmRlciIgVHlwZU5hbWU9InRuczpTb3J0T3JkZXJUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRXZlbnRGaWVsZCIgVHlwZU5hbWU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlJlYWRFdmVudERldGFpbHNTb3J0ZWQiIEJhc2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5cGU9InRu +czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIi +IFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlNvcnRDbGF1c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTb3J0Q2xhdXNlIiBUeXBlTmFtZT0idG5zOlNvcnRSdWxlRWxlbWVudCIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTb3J0Q2xhdXNlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzUmVhZE1v +ZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUHJv +Y2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVnYXRlVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgQmFzZVR5cGU9InRuczpI +aXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZh +bHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFW +YWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVl +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJNb2RpZmljYXRpb25JbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhp +c3RvcnlVcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlz +dG9yeURhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRu +czpNb2RpZmljYXRpb25JbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlFdmVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRXZlbnQiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeUV2ZW50Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVO +YW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBU +eXBlTmFtZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0 +aW9uSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVh +ZCIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9k +ZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlw +ZU5hbWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJXcml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iRGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj +OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0 +YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0 +ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRh +dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu +czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVW +YWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRh +dGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRl +VmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5h +bWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl +ciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZFdmVudERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhG +aWVsZD0iTm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxldGVN +b2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJl +cVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpC +eXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1 +bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFt +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRh +aWxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt +ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlh +bnQiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0 +dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklu +cHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNU +b0NhbGwiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRo +b2RzVG9DYWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i +Tm9PZk1ldGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU +eXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVO YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NU -b0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxpbmtz -VG9BZGQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dl -cmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkFkZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFkZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu -b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1 +ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFs +dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1l +c3RhbXAiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBl +PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBU +eXBlTmFtZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVhZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBC +YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQi +IExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldoZXJlQ2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRh +R29vZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xv +cGVkRXh0cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRl +ciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpB +Z2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1v +bml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENs +YXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBC +YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp +b24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0 +bnM6UmVhZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIg +VHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZh +bCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2Vk +UXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25p +dG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBl +TmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVx +dWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVk +SXRlbUNyZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpN +b25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl +ZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFt +cHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m +b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9y -ZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09m -TW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1 -Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQ -ZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlw -dGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlm -ZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlm -eVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0lu -dGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2gi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHki -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9k -ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVt -YmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp -c2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFz -ZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZN -b25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRp -b24iIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3Rp -ZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0 -aW9uTGlzdCIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxk -PSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2 -ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VU -eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tu -b3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 -Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1l -bnQiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJs -aXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdN +b2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO +b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRyaWdnZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9S +ZW1vdmUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5r +c1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1Rv +UmVtb3ZlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0 +cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9z +dGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVt +b3ZlRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRl +bXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVw +QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQ +dWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO +YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw +dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50 +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlm +aWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0 +aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxl -U2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -dmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90 -aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFt +ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz +ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGlu +Z01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMi IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBl -TmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZh -aWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJT -dWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJl -c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1 -bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3Vs -dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRp -b25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz -Y3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNj -cmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -c3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9w -YzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iV2FybSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJUcmFuc3BhcmVudCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iSG90QW5kTWlycm9yZWQiIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4N -CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0 -YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRw -b2ludFVybExpc3REYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9 -Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRv -cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT -ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9y -dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 -cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJl -amVjdGVkUmVxdWVzdHNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +ZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0 +aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3Rh -dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVp -bGRJbmZvIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNv -biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlv -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFz -dENvbnRhY3RUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJl -cXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSGlzdG9yeVJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE -YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291 +Ik5vdGlmaWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFu +Z2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50Rmll +bGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k +bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 +ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 +RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9 +InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdl +Tm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25v +d2xlZGdlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWls +YWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6 +Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg +VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVw +dWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +ZmVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VO +dW1iZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNj +cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09m +U3Vic2NyaXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1 +ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3Bv +bnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lv +biIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51 +bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWls +ZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl +PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJT +dGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UnVubmluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFp +bGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZp +Z3VyYXRpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1 +c3BlbmRlZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1 +dGRvd24iIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3Qi +IFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRp +b25GYXVsdCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5r +bm93biIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlw +ZU5hbWU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p +bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZF +bmRwb2ludFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMi +IFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +TmV0d29ya1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5n +SW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmll +d0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9u +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz +c2lvblRpbWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz +aGluZ0ludGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBl +TmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZv +IiBUeXBlTmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29u +ZHNUaWxsU2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Np +b25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRV +cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdl +U2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGll +bnRDb25uZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ3VycmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9y +aXplZFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291 bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdN -b2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVk -SXRlbXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1 -YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlv -bnNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0Nv -dW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 -ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5 +ZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBU +eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5 cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0 +bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNv +dW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl +Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01v +ZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5h +bWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VHJhbnNmZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZWxldGVOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dz -ZU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlw -ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUXVlcnlGaXJzdENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJO -b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz -c2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xp -ZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw -ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFt -ZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwi -IFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFs -aXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TWF4TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJl +ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhz +VG9Ob2RlSWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQi +IFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlE +aWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhp +c3RvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJ +ZEhpc3RvcnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlz +bSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGlu +ZyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3Bv +cnRQcm90b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFt +ZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNz +aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz +Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0Vu +YWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +ZGlmeUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkVuYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdl +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh +bnNmZXJSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJl cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJl -ZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHJhbnNmZXJyZWRUb1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmlj -YXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxp -dmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNv -dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVy -Zmxvd0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZl -cmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBl -TmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51 -bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdp -bmFyeSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5p -dHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -aXRsZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IExlbmd0aEZpZWxkPSJOb09mQXhpc1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25U +PSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlz +aFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVk +TWVzc2FnZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0Nv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRT +ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFdmVudFF1ZXVlT3ZlcmZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9k +ZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2 +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh +Y2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5p +dElkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVu +dW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJMaW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkxvZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZh +bHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91 +YmxlQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZv +cm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2Nh +bGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5 +cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIg +VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlw +ZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25J +ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNs +aWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhv +ZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBM +ZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIg +VHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0 +QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBU +eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFJldHVyblN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdu +b3N0aWMyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25U aW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz -dFRyYW5zaXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTGFzdE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5w -dXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFz -dE1ldGhvZElucHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RN -ZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3Vt -ZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp -bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBl -TmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVT -ZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -cmVhdGVDbGllbnROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbCIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kU2Vzc2lv -bklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxh -c3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1 -bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1 -bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhv -ZE91dHB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9k -SW5wdXRWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVs -ZD0iTm9PZkxhc3RNZXRob2RJbnB1dFZhbHVlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZMYXN0TWV0aG9kT3V0cHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9InVhOlZhcmlh -bnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RSZXR1cm5TdGF0dXMiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkFubm90YXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbm5vdGF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlVmFsdWUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZlZhbHVlIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZSYW5nZSIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mRVVSYW5n -ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQo8L29wYzpUeXBlRGljdGlv -bmFyeT4= +dE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMi +IFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0 +QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRB +cmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG +aWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6 +VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi +IFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRW +YWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVO +YW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0 +dXJuU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRp +bWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0 +ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJj +ZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ @@ -65366,6 +68607,46 @@ bmFyeT4= TrustListDataType + + BaseConfigurationDataType + + i=69 + i=7617 + + + BaseConfigurationDataType + + + + BaseConfigurationRecordDataType + + i=69 + i=7617 + + + BaseConfigurationRecordDataType + + + + CertificateGroupDataType + + i=69 + i=7617 + + + CertificateGroupDataType + + + + ConfigurationUpdateTargetType + + i=69 + i=7617 + + + ConfigurationUpdateTargetType + + TransactionErrorType @@ -65376,6 +68657,78 @@ bmFyeT4= TransactionErrorType + + ApplicationConfigurationDataType + + i=69 + i=7617 + + + ApplicationConfigurationDataType + + + + ApplicationIdentityDataType + + i=69 + i=7617 + + + ApplicationIdentityDataType + + + + EndpointDataType + + i=69 + i=7617 + + + EndpointDataType + + + + ServerEndpointDataType + + i=69 + i=7617 + + + ServerEndpointDataType + + + + SecuritySettingsDataType + + i=69 + i=7617 + + + SecuritySettingsDataType + + + + UserTokenSettingsDataType + + i=69 + i=7617 + + + UserTokenSettingsDataType + + + + AuthorizationServiceConfigurationDataType + LogObject TraceContext + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.5.2 + + i=69 + i=7617 + + + AuthorizationServiceConfigurationDataType + + DataTypeSchemaHeader @@ -66176,6 +69529,58 @@ bmFyeT4= ReferenceListEntryDataType + + LogRecord + + i=69 + i=7617 + + + LogRecord + + + + LogRecordsDataType + LogObject Base + https://reference.opcfoundation.org/v105/Core/docs/Part26/5.7 + + i=69 + i=7617 + + + LogRecordsDataType + + + + SpanContextDataType + + i=69 + i=7617 + + + SpanContextDataType + + + + TraceContextDataType + + i=69 + i=7617 + + + TraceContextDataType + + + + NameValuePair + + i=69 + i=7617 + + + NameValuePair + + RolePermissionType @@ -67014,6 +70419,38 @@ bmFyeT4= i=76 + + Default XML + + i=15434 + i=16597 + i=76 + + + + Default XML + + i=15435 + i=16604 + i=76 + + + + Default XML + + i=15436 + i=16607 + i=76 + + + + Default XML + + i=15538 + i=16610 + i=76 + + Default XML @@ -67022,6 +70459,62 @@ bmFyeT4= i=76 + + Default XML + + i=15549 + i=16614 + i=76 + + + + Default XML + + i=15556 + i=16617 + i=76 + + + + Default XML + + i=15557 + i=16620 + i=76 + + + + Default XML + + i=15558 + i=16623 + i=76 + + + + Default XML + + i=15559 + i=16626 + i=76 + + + + Default XML + + i=15560 + i=16629 + i=76 + + + + Default XML + + i=19445 + i=19787 + i=76 + + Default XML @@ -67662,6 +71155,46 @@ bmFyeT4= i=76 + + Default XML + + i=19361 + i=19384 + i=76 + + + + Default XML + + i=19745 + i=19790 + i=76 + + + + Default XML + + i=19746 + i=19793 + i=76 + + + + Default XML + + i=19747 + i=19796 + i=76 + + + + Default XML + + i=19748 + i=19799 + i=76 + + Default XML @@ -68224,7 +71757,18 @@ bmFyeT4= i=32578 i=32581 i=12677 + i=16597 + i=16604 + i=16607 + i=16610 i=32387 + i=16614 + i=16617 + i=16620 + i=16623 + i=16626 + i=16629 + i=19787 i=16027 i=14811 i=15591 @@ -68305,6 +71849,11 @@ bmFyeT4= i=19291 i=32671 i=32674 + i=19384 + i=19790 + i=19793 + i=19796 + i=19799 i=16127 i=18166 i=18169 @@ -68382,8 +71931,8 @@ c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw ZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y MDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog IDx4czphbm5vdGF0aW9uPg0KICAgIDx4czphcHBpbmZvPg0KICAgICAgPHVhOk1vZGVsIE1vZGVs -VXJpPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBWZXJzaW9uPSIxLjA1LjA0IiBQdWJs -aWNhdGlvbkRhdGU9IjIwMjUtMDEtMDhUMDA6MDA6MDBaIiAvPg0KICAgIDwveHM6YXBwaW5mbz4N +VXJpPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBWZXJzaW9uPSIxLjA1LjA1IiBQdWJs +aWNhdGlvbkRhdGU9IjIwMjUtMDYtMzBUMDA6MDA6MDBaIiAvPg0KICAgIDwveHM6YXBwaW5mbz4N CiAgPC94czphbm5vdGF0aW9uPg0KICANCiAgPHhzOmVsZW1lbnQgbmFtZT0iQm9vbGVhbiIgdHlw ZT0ieHM6Ym9vbGVhbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQm9vbGVh biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9vbGVhbiIg @@ -69130,2830 +72679,2447 @@ dGFUeXBlIiB0eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRydXN0TGlzdERh dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zYWN0aW9uRXJy -b3JUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3IiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9InVhOkxv -Y2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNh -Y3Rpb25FcnJvclR5cGUiIHR5cGU9InRuczpUcmFuc2FjdGlvbkVycm9yVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNhY3Rpb25FcnJvclR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zYWN0aW9uRXJyb3JUeXBl -IiB0eXBlPSJ0bnM6VHJhbnNhY3Rpb25FcnJvclR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zYWN0aW9uRXJy -b3JUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNhY3Rpb25FcnJvclR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlY2ltYWxEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2NhbGUi -IHR5cGU9InhzOnNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJWYWx1ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkRlY2ltYWxEYXRhVHlwZSIgdHlwZT0idG5zOkRlY2ltYWxEYXRhVHlwZSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZXMiIHR5cGU9 -InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlN0 -cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZkVudW1E -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNpbXBsZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZVR5cGVE -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw -ZVNjaGVtYUhlYWRlciIgdHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIi -IHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFI -ZWFkZXIiIHR5cGU9InRuczpMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZXNj -cmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlc2NyaXB0aW9u -IiB0eXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mRGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkRhdGFU -eXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpM -aXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1 -Y3R1cmVEZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0 -dXJlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9u -IiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1EZXNjcmlw -dGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBl -PSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW51bURl -c2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1E -ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVUeXBlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCYXNlRGF0YVR5cGUiIHR5cGU9 -InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJCdWlsdEluVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJTaW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTaW1wbGVUeXBl -RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVU -eXBlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENv -bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFU -eXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNjaGVtYUxvY2F0aW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsZUhl -YWRlciIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb2R5IiB0eXBlPSJ1YTpW -YXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSIgdHlwZT0idG5z -OlVBQmluYXJ5RmlsZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFyeUZpbGVE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZV -QUJpbmFyeUZpbGVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iUG9ydGFibGVRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmkiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJQb3J0YWJsZVF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpQb3J0YWJsZVF1YWxp -ZmllZE5hbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBvcnRhYmxlUXVh -bGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UG9ydGFibGVRdWFsaWZpZWROYW1lIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZQb3J0YWJsZVF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZQb3J0YWJsZVF1 -YWxpZmllZE5hbWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlBvcnRhYmxlTm9kZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkZW50aWZp -ZXIiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQb3J0YWJsZU5vZGVJZCIgdHlwZT0idG5zOlBvcnRhYmxlTm9kZUlkIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0YWJsZU5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpQb3J0 -YWJsZU5vZGVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZQb3J0 -YWJsZU5vZGVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVW5zaWduZWRSYXRpb25hbE51bWJlciI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJhdG9yIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVub21pbmF0b3IiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zaWduZWRSYXRpb25h -bE51bWJlciIgdHlwZT0idG5zOlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIi -IHR5cGU9InRuczpVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVbnNpZ25lZFJhdGlv -bmFsTnVtYmVyIiB0eXBlPSJ0bnM6TGlzdE9mVW5zaWduZWRSYXRpb25hbE51bWJlciIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3Vi -U3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJQYXVzZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BlcmF0 -aW9uYWxfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfMyIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUHJlT3BlcmF0aW9uYWxfNCIgLz4NCiAgICA8L3hz -OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 -YlN1YlN0YXRlIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIiB0 -eXBlPSJ0bnM6TGlzdE9mUHViU3ViU3RhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2Ny -aXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxp -c3RPZkZpZWxkTWV0YURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNzSWQiIHR5cGU9InVhOkd1aWQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9u -VmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBlPSJ0bnM6 -RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RGF0YVNldE1ldGFEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0 -TWV0YURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0RmllbGRG -bGFncyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5 -cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0i -eHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp -bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWly -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpZWxkTWV0YURhdGEiIHR5 -cGU9InRuczpGaWVsZE1ldGFEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmll -bGRNZXRhRGF0YSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURhdGEiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFTZXRGaWVsZEZs -YWdzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRTaG9ydCI+DQogICAg -PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhU2V0RmllbGRGbGFncyIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZEZsYWdzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYWpvclZlcnNpb24iIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRp -b25WZXJzaW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNv -bmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5cGU9InRuczpD -b25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVmVyc2lv -bkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Rm9sZGVyIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0 -YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRXh0ZW5zaW9uRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWly -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGF0YVNldFNvdXJjZSIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0i -dG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRu -czpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRh -VHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURh -dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRh -U2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldFNvdXJjZURh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQ -dWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli -dXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsSGludCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnN0aXR1 -dGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZFZhcmlh -YmxlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJp -YWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2Nj +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJhc2VDb25maWd1cmF0 +aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIHR5 +cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOkJhc2VDb25maWd1 +cmF0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJhc2VD +b25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkJhc2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpCYXNlQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCYXNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mQmFzZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25S +ZWNvcmREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjb3JkUHJvcGVydGllcyIgdHlwZT0idG5zOkxp +c3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC +YXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiB0eXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRp +b25SZWNvcmREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgdHlwZT0i +dG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJhc2VDb25maWd1 +cmF0aW9uUmVjb3JkRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZCYXNlQ29uZmlndXJhdGlvblJl +Y29yZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6QmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdXJwb3NlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q2VydGlmaWNhdGVUeXBlcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQ2VydGlmaWNh +dGVBc3NpZ25lZCIgdHlwZT0idWE6TGlzdE9mQm9vbGVhbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWxpZGF0aW9uT3B0aW9u +cyIgdHlwZT0idG5zOlRydXN0TGlzdFZhbGlkYXRpb25PcHRpb25zIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpDZXJ0aWZpY2F0ZUdyb3VwRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNlcnRpZmljYXRlR3Jv +dXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q2VydGlmaWNhdGVHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6Q2VydGlmaWNhdGVHcm91cERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZD +ZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXRoIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblVwZGF0ZVR5cGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgdHlw +ZT0idG5zOkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblVwZGF0ZVRh +cmdldFR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZFZh -cmlhYmxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29t -cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z -OlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhIiB0eXBlPSJ0bnM6TGlz -dE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0 -YUl0ZW1zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxp -c2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFJdGVtc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIg -dHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRFdmVu -dHNEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZl -bnROb3RpZmllciIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdGVkRmllbGRzIiB0eXBlPSJ0 -bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVk -RXZlbnRzRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZEV2ZW50 -c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1 -Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRXZlbnRzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSI+DQogICAgPHhzOmNv +dE9mQ29uZmlndXJhdGlvblVwZGF0ZVRhcmdldFR5cGUiIHR5cGU9InRuczpMaXN0T2ZDb25maWd1 +cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQ29uZmlndXJhdGlvblVwZGF0ZVR5cGUiPg0KICAgIDx4 +czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVwbGFjZV8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRPclJlcGxhY2VfMyIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVsZXRlXzQiIC8+DQogICAgPC94czpyZXN0 +cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uVXBkYXRlVHlwZSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25VcGRhdGVUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBkYXRlVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlv +blVwZGF0ZVR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBk +YXRlVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25VcGRhdGVUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2Fj +dGlvbkVycm9yVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGFyZ2V0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBl +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlRyYW5zYWN0aW9uRXJyb3JUeXBlIiB0eXBlPSJ0bnM6VHJhbnNhY3Rpb25FcnJvclR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRyYW5zYWN0aW9uRXJyb3JUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2FjdGlvbkVy +cm9yVHlwZSIgdHlwZT0idG5zOlRyYW5zYWN0aW9uRXJyb3JUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcmFuc2Fj +dGlvbkVycm9yVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRyYW5zYWN0aW9uRXJyb3JUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBcHBs +aWNhdGlvbkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpCYXNlQ29uZmlndXJh +dGlvbkRhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHkiIHR5cGU9InRuczpBcHBsaWNhdGlvbklkZW50 +aXR5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZDZXJ0 +aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlz +dE9mU2VydmVyRW5kcG9pbnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRFbmRwb2ludHMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5U2V0dGluZ3MiIHR5cGU9InRu +czpMaXN0T2ZTZWN1cml0eVNldHRpbmdzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ3Mi +IHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhvcml6 +YXRpb25TZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RPZkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvbkNvbmZpZ3Vy +YXRpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQXBwbGlj +YXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6QXBwbGljYXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9u +Q29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25Db25maWd1 +cmF0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRhVHlwZSI+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3ljbGljRGF0YVNldCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFU -eXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291 -cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldEN1 -c3RvbVNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNldEN1c3Rv -bVNvdXJjZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBY3Rpb25UYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0SWQiIHR5cGU9InhzOnVuc2ln -bmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldERhdGFUeXBl -IiB0eXBlPSJ0bnM6QWN0aW9uVGFyZ2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkFj -dGlvblRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSI+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdERhdGFTZXRN -ZXRhRGF0YSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0 -cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQdWJs -aXNoZWRBY3Rpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVk -QWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mUHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjdGlvblN0YXRlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSWRsZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRpbmdfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRG9uZV8yIiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9u -U3RhdGUiIHR5cGU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mQWN0aW9uU3RhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFjdGlvblN0YXRlIiB0eXBlPSJ0bnM6QWN0aW9uU3RhdGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWN0aW9uU3RhdGUiIHR5cGU9 -InRuczpMaXN0T2ZBY3Rpb25TdGF0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdElkIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNZXRob2RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkFjdGlvbk1ldGhvZERhdGFUeXBlIiB0eXBlPSJ0bnM6QWN0aW9uTWV0aG9k -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFjdGlvbk1ldGhv -ZERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkFjdGlvbk1ldGhvZERhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBY3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkFjdGlvbk1ldGhvZERh -dGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJQdWJsaXNoZWRBY3Rpb25NZXRob2REYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJs -aXNoZWRBY3Rpb25EYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2RzIiB0eXBlPSJ0bnM6TGlzdE9mQWN0aW9uTWV0 -aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +czpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1lcyIgdHlwZT0idWE6TGlzdE9mTG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZGRpdGlvbmFsU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVz +Y3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbklk +ZW50aXR5RGF0YVR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25JZGVudGl0eURhdGFUeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25JZGVudGl0eURhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGF0YVR5cGUiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1 +YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya05hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +b3J0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwv eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 -ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRB -Y3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRBY3Rpb25N -ZXRob2REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRBY3Rp -b25NZXRob2REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludERh +dGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbmRw +b2ludERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXJ2ZXJFbmRwb2ludERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVuZHBv +aW50RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnRVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp +dHlTZXR0aW5nTmFtZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9m +aWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ05hbWVzIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2ZXJzZUNvbm5lY3RVcmxzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJFbmRwb2lu +dERhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyRW5kcG9pbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyRW5kcG9pbnREYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnREYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlckVuZHBvaW50RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlckVuZHBv +aW50RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJFbmRwb2ludERhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZWN1 +cml0eVNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs +c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNv +cmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGVzIiB0eXBlPSJ0bnM6TGlzdE9mTWVzc2FnZVNlY3VyaXR5TW9k +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +ZXJ0aWZpY2F0ZUdyb3VwTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2VjdXJp +dHlTZXR0aW5nc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +ZWN1cml0eVNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlY3VyaXR5U2V0dGluZ3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5 +U2V0dGluZ3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUi -IHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWRBY3Rpb25NZXRob2REYXRhVHlwZSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldEZp -ZWxkQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZElu -dCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkRhdGFTZXRGaWVs -ZENvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0 -RmllbGRDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250 -ZW50TWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRGaWVsZENv -bnRlbnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9 -InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iS2V5RnJhbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXROYW1lIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZh -bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIHR5cGU9InRuczpE -YXRhU2V0V3JpdGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRl -ckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIg -dHlwZT0idG5zOkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyVHJh -bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP -ZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 -cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVz -c2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5TZXR0aW5nc0Rh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5U +eXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9Iklzc3VlZFRva2VuVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lV +cmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkF1dGhvcml6YXRpb25TZXJ2aWNlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ3NEYXRhVHlw +ZSIgdHlwZT0idG5zOlVzZXJUb2tlblNldHRpbmdzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNldHRpbmdzRGF0YVR5 +cGUiIHR5cGU9InRuczpVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9r +ZW5TZXR0aW5nc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuU2V0dGluZ3NEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUNlcnRpZmljYXRlIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9Iklzc3VlckVuZHBvaW50U2V0dGluZ3MiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlv +bkRhdGFUeXBlIiB0eXBlPSJ0bnM6QXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkF1dGhvcml6YXRpb25T +ZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25EYXRhVHlw +ZSIgdHlwZT0idG5zOkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWNp +bWFsRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNjYWxlIiB0eXBlPSJ4czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWNpbWFsRGF0YVR5cGUiIHR5cGU9InRuczpEZWNpbWFsRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2Vz +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIHR5cGU9InRuczpM +aXN0T2ZTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0 +T2ZFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFT -ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBJ -ZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RP -ZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91 -cFByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOlB1 -YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1 -YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViR3Jv -dXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJTdWJHcm91 -cERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IktlZXBBbGl2ZVRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMi -IHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIZWFkZXJMYXlvdXRVcmkiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFT -ZXRXcml0ZXJzIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5z -OldyaXRlckdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZldyaXRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVy -R3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpXcml0 -ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBl -PSJ0bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBU -cmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwVHJhbnNwb3J0RGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVyR3Jv -dXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBN -ZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +RGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlU2NoZW1h +SGVhZGVyIiB0eXBlPSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl +U2NoZW1hSGVhZGVyIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InVhOlF1YWxpZmll +ZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpEYXRhVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBl +PSJ0bnM6TGlzdE9mRGF0YVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24iPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0 +bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1 +cmVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVt +RGVzY3JpcHRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlv +biIgdHlwZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlwZT0idG5z +OkVudW1EZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51 +bURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbnVtRGVzY3JpcHRpb24iIHR5cGU9InRuczpFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +dW1EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlVHlw +ZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQmFzZURhdGFUeXBl +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2lt +cGxlVHlwZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +aW1wbGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlNpbXBsZVR5cGVEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m +U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTY2hlbWFMb2NhdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkZpbGVIZWFkZXIiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9keSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5 +cGU9InRuczpVQUJpbmFyeUZpbGVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VUFCaW5h +cnlGaWxlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbm5lY3Rpb25E -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InVhOlZh -cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9y -dFByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZHJlc3MiIHR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQ -YWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRl -ckdyb3VwcyIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91 -cHMiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +TGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBvcnRhYmxlUXVhbGlmaWVkTmFtZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UG9ydGFi +bGVRdWFsaWZpZWROYW1lIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0 +YWJsZVF1YWxpZmllZE5hbWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvcnRhYmxlUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlBvcnRhYmxlUXVhbGlmaWVk +TmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mUG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUG9y +dGFibGVRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJQb3J0YWJsZU5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ +ZGVudGlmaWVyIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpQb3J0YWJsZU5vZGVJZCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUG9ydGFibGVOb2RlSWQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvcnRhYmxlTm9kZUlkIiB0eXBlPSJ0 +bnM6UG9ydGFibGVOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5z -OlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29ubmVjdGlvblRy -YW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvblRyYW5z -cG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rp -b25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m -Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrSW50ZXJmYWNl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtB -ZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0FkZHJlc3NE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOZXR3b3Jr -QWRkcmVzc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ -DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtB -ZGRyZXNzVXJsRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5l -dHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3Jr -QWRkcmVzc1VybERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBEYXRh -VHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlcnMiIHR5cGU9InRuczpMaXN0T2ZEYXRh -U2V0UmVhZGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFk -ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBEYXRhVHlwZSIg -dHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3Bv -cnREYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdy -b3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg -dHlwZT0idG5zOlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZGVy -R3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cE1lc3NhZ2VE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -dWJsaXNoZXJJZCIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlcklkIiB0 -eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlY2Vp -dmVUaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IktleUZyYW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIZWFkZXJMYXlvdXRVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBJ -ZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RP -ZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgdHlwZT0idG5z -Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmliZWREYXRhU2V0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6 -RGF0YVNldFJlYWRlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZEYXRhU2V0UmVhZGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFk -ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi -IHR5cGU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0 -YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1l -c3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5z -OlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRu -czpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldERh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVGFyZ2V0 -VmFyaWFibGVzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlw -ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -YXJnZXRWYXJpYWJsZXMiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIHR5 -cGU9InRuczpUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpZWxkVGFyZ2V0 -RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh -dGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdl -dE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUluZGV4 -UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgdHlwZT0idG5z -Ok92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iT3ZlcnJpZGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpGaWVsZFRhcmdldERhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZFRhcmdl -dERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBvcnRhYmxlTm9kZUlkIiB0eXBlPSJ0bnM6TGlz +dE9mUG9ydGFibGVOb2RlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyYXRvciIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbm9taW5h +dG9yIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVuc2lnbmVk +UmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnNpZ25lZFJhdGlvbmFs +TnVtYmVyIiB0eXBlPSJ0bnM6VW5zaWduZWRSYXRpb25hbE51bWJlciIgbWluT2NjdXJzPSIwIiBt YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmllbGRU -YXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik92ZXJy -aWRlVmFsdWVIYW5kbGluZyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ikxhc3RVc2FibGVWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJPdmVycmlkZVZhbHVlXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N -CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFu -ZGxpbmciIHR5cGU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBl -PSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgdHlwZT0idG5zOkxp -c3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlw -ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmVudE5vZGVOYW1lIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25zIiB0eXBlPSJ0bnM6TGlzdE9mUm9s -ZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0TWly -cm9yRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmli -ZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIHR5cGU9InRuczpT -dWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNl -dE1pcnJvckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0cyIgdHlwZT0idG5zOkxp -c3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb25zIiB0eXBlPSJ0bnM6TGlz -dE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0i -dG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi -IHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNv -bmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25E -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWRE -YXRhU2V0UmVmRGF0YVR5cGUiIHR5cGU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRS -ZWZEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhbmRhbG9u -ZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBl -IiB0eXBlPSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIG1pbk9j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVW5zaWdu +ZWRSYXRpb25hbE51bWJlciIgdHlwZT0idG5zOkxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 +IlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iUGF1c2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik9wZXJhdGlvbmFsXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzMi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlByZU9wZXJhdGlvbmFsXzQiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJTdGF0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViU3RhdGUiIHR5cGU9InRuczpQdWJTdWJTdGF0ZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJT +dGF0ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YlN0YXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZHMiIHR5cGU9 +InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ1YTpH +dWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmln +dXJhdGlvblZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0TWV0 +YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +RGF0YVNldE1ldGFEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRp +b24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZEZsYWdzIiB0eXBlPSJ0bnM6RGF0YVNl +dEZpZWxkRmxhZ3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1 +aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi +IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5ndGgi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZh +bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZE1ldGFE +YXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkZpZWxkTWV0YURhdGEiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YW5kYWxvbmVTdWJz -Y3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0 -YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGb2xkZXIiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERh -dGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGFuZGFsb25lU3Vic2Ny -aWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpT -dGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +c3RPZkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhU2V0 +RmllbGRGbGFncyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkU2hvcnQi +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YVNldEZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0RmllbGRGbGFncyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFqb3JWZXJz +aW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5cGU9InRuczpDb25m +aWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhbmRhbG9uZVN1 -YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdGFuZGFsb25lU3Vic2Ny -aWJlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29uZmlndXJhdGlv +blZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0 +YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZvbGRl +ciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0 +YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZktleVZh +bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFTZXRTb3VyY2UiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUi +IHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiB0 +eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRh +U2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1 +Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkVmFyaWFibGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhpbnQiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZWN1cml0eUdyb3VwRm9sZGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlMaWZldGltZSIg -dHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4RnV0dXJlS2V5Q291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNYXhQYXN0S2V5Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9u -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikdyb3VwUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwRGF0YVR5cGUi -IHR5cGU9InRuczpTZWN1cml0eUdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlNlY3VyaXR5R3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VjdXJpdHlHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +dWJzdGl0dXRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgdHlwZT0idWE6TGlzdE9mUXVh +bGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +ZWRWYXJpYWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz +aGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJs +aXNoZWRWYXJpYWJsZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YSIgdHlwZT0i +dG5zOkxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxp +c2hlZERhdGFJdGVtc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YUl0ZW1zRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlz +aGVkRXZlbnRzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURh +dGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RlZEZpZWxkcyIg +dHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl +PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEV2ZW50c0RhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +ZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZEV2 +ZW50c0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkN5Y2xpY0RhdGFTZXQiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3Vy +Y2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldEN1 +c3RvbVNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERh +dGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFT +ZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4 +czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVk +VGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXRE +YXRhVHlwZSIgdHlwZT0idG5zOkFjdGlvblRhcmdldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUiIHR5cGU9 +InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWN0aW9uVGFyZ2V0RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVkQWN0aW9uRGF0 +YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RE +YXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlv +blRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOlB1 +Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIHR5 -cGU9InRuczpMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXRE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBw -bGljYXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1c2hUYXJnZXRGb2xkZXIiIHR5cGU9InVh -Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJU -b2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZEtleUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyeUludGVydmFsIiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1c2hUYXJnZXRQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vj -dXJpdHlHcm91cHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBl -PSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJLZXlQdXNo -VGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5 -cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViQ29u -ZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlN0YW5k -YWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc2VzIiB0eXBl -PSJ0bnM6TGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0U2VjdXJpdHlLZXlT -ZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -U3ViS2V5UHVzaFRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0 -YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlv -blByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiB0eXBlPSJ0 -bnM6UHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlw -ZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSIg +dHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBY3Rpb25TdGF0ZSI+DQog +ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IklkbGVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0 +aW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRvbmVfMiIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkFjdGlvblN0YXRlIiB0eXBlPSJ0bnM6QWN0aW9uU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFjdGlvblN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0YXRlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFjdGlvblN0YXRl +IiB0eXBlPSJ0bnM6TGlzdE9mQWN0aW9uU3RhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGlvbk1ldGhvZERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkFjdGlv +bk1ldGhvZERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3Rp +b25NZXRob2REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpBY3Rpb25NZXRob2REYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBY3Rpb25N +ZXRob2REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpj +b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 +bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uTWV0aG9kcyIgdHlwZT0idG5zOkxpc3RPZkFj +dGlvbk1ldGhvZERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi +bGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRBY3Rpb25NZXRo +b2REYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVk +QWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlz +aGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRh +dGFTZXRGaWVsZENvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRh +U2V0RmllbGRDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RGF0YVNldEZpZWxkQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZp +ZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0 +RmllbGRDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFi +bGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IktleUZyYW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0 +T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdy +aXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERh +dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2Fn +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdy +aXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iR3JvdXBQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9 +InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJTdWJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViR3JvdXBE +YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1 +YlN1Ykdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVi +U3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVy +dmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJLZWVwQWxpdmVUaW1lIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWdu +ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9j +YWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGVhZGVyTGF5b3V0VXJpIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0V3JpdGVycyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5 +cGU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP +ZldyaXRlckdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSIgdHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1 -YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25maWd1cmF0 -aW9uMkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1w -bGVUeXBlICBuYW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5kZWZpbmVk -XzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkXzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xl -XzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVy -aW5nVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVy -aW5nVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5n -VHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVhZHBOZXR3b3JrTWVz -c2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJ -bnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRw -TmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0 -eXBlPSJ0bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVu -dE1hc2siIHR5cGU9InRuczpMaXN0T2ZVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFk -cFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVz -c2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ikdyb3VwVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmciIHR5cGU9 -InRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBO -ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdPZmZzZXQiIHR5 -cGU9InVhOkxpc3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t -cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVh -ZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBXcml0ZXJHcm91cE1l -c3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcFdy +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRl +ckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldy aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpV -YWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1l -c3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh -VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50 -TWFzayIgdHlwZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRN -ZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRw -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZlVhZHBEYXRhU2V0TWVz -c2FnZUNvbnRlbnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1h -c2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyZWRTaXplIiB0eXBlPSJ4 -czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0 -eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0 -YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRl +ckdyb3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25u +ZWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBl +PSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktl +eVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJXcml0ZXJHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVh +ZGVyR3JvdXBzIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5 +cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9u +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbm5l +Y3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rp +b25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9y +dERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +b25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0lu +dGVyZmFjZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0Rh +dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVz +c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +ZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtB +ZGRyZXNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpO +ZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0eXBlPSJ0bnM6 +TmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNz -YWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0 -YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01l -c3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25l -ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVNldENsYXNzSWQiIHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFk -cE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFk -cERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVPZmZzZXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlByb2Nlc3NpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdy +b3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0 +aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJzIiB0eXBlPSJ0bnM6TGlz +dE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNl -dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBl -IiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVh -ZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFT -ZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5l -dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250 -ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdv -cmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpM -aXN0T2ZKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2Fn -ZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl -PSJ0bnM6SnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNv -bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFz -ayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hz -OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpz -b25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl -Q29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRh -U2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25E -YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0 -bnM6TGlzdE9mSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVy -TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 -cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNv -bnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRh -dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1l -c3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi -IHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRh -dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1l -c3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdv -cmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFT -ZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVy -TWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5 -cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0UmVhZGVy -TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3Nh -Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlFvc0RhdGFUeXBlIiB0 -eXBlPSJ0bnM6UW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZlFvc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJRb3NEYXRhVHlwZSIgdHlwZT0idG5zOlFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +ZT0iUmVhZGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRb3NEYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZlFvc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNtaXRR -b3NEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRyYW5zbWl0UW9zRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbWl0UW9zRGF0YVR5cGUiIHR5cGU9 -InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc0RhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mVHJhbnNtaXRRb3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNtaXRRb3NQcmlvcml0eURh -dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOlRyYW5zbWl0UW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNtaXRR -b3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6VHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc1ByaW9yaXR5 -RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zUHJpb3JpdHlE +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91 +cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3Vw +VHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9y +dERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBN +ZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxl +ZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0 +ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh +Z2VSZWNlaXZlVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlGcmFtZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGVhZGVyTGF5b3V0VXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIHR5 +cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRh +U2V0UmVhZGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERh +dGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnRE YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWNlaXZlUW9zRGF0YVR5cGUiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZl -UW9zRGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFvc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eUxhYmVsIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZlUW9zUHJpb3Jp -dHlEYXRhVHlwZSIgdHlwZT0idG5zOlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFvc1By -aW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mUmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWNlaXZl -UW9zUHJpb3JpdHlEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUFkZHJlc3Mi -IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YWdy -YW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFu -c3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFU +ZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyTWVz +c2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1lc3Nh +Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRS +ZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhZ3JhbUNv -bm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YWdyYW1Db25uZWN0 -aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5QW5ub3VuY2VSYXRlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nv -dmVyeU1heE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlFvc0NhdGVnb3J5IiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YWdyYW1Rb3MiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg -ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9y -dDJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydDJEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0aW9u -VHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpE -YXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u -bmVjdGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtQ29ubmVj -dGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl -eHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVh -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlUmVwZWF0RGVsYXkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0 -eXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0 -YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFn -cmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVy -R3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9y -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUW9zQ2F0ZWdvcnkiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhZ3JhbVFvcyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nv -dmVyeUFubm91bmNlUmF0ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3BpYyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9y -dDJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5 -cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3Jv -dXBUcmFuc3BvcnQyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRu -czpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhZ3Jh -bVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1X -cml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNw -b3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFk -ZHJlc3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NDYXRlZ29yeSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRhdGFncmFtUW9zIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl -Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVG9waWMiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K -ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 -bnM6RGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFU -eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3Jh -bURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtRGF0YVNl -dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhZ3JhbURhdGFTZXRSZWFkZXJU -cmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDaXBoZXJTdWl0ZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VydmVyQ2lwaGVyU3VpdGVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +dCBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz +dE9mRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5 +cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0 +eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERh +dGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0 +RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0VmFyaWFibGVzIiB0eXBlPSJ0bnM6TGlzdE9mRmllbGRUYXJnZXREYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFU +eXBlIiB0eXBlPSJ0bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIg +dHlwZT0idG5zOlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUYXJnZXRWYXJpYWJs +ZXNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVs +ZFRhcmdldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJaZXJvUlRUIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmlm -eUNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOkR0bHNQdWJTdWJDb25u -ZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkR0bHNQ -dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpEdGxz -UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEdGxzUHViU3ViQ29ubmVjdGlvbkRh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJv -a2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkNvbm5lY3Rpb25U -cmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNvdXJjZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRp -Y2F0aW9uUHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ -DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 -QnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFu -c3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm9rZXJUcmFuc3BvcnRR -dWFsaXR5T2ZTZXJ2aWNlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm90U3BlY2lmaWVkXzAiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJlc3RFZmZvcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQXRMZWFzdE9uY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iQXRNb3N0T25jZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGFjdGx5 -T25jZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgdHlwZT0i -dG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxp -dHlPZlNlcnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlclRy -YW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJUcmFuc3BvcnRR -dWFsaXR5T2ZTZXJ2aWNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNh -dGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1 -YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu -czpCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJXcml0ZXJHcm91 -cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnRE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tlckRh -dGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVy -VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VV -cmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJy -b2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1ldGFEYXRhVXBkYXRlVGltZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJE -YXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5 -cGU9InRuczpMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tl -ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0UmVh -ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3Vy -Y2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5z -OkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERh -dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0 -UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i -dG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2Vy -RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyRGF0 -YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1 -YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZk1h -c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRp -b25SZWZNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -dWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25S -ZWZNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29uZmln -dXJhdGlvblJlZk1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvbk1hc2siIHR5 -cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uSW5k -ZXgiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikdyb3VwSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +PSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp +dGVJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5 +cGU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFU -eXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiBtaW5PY2N1cnM9 +ZWxlbWVudCBuYW1lPSJGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXRE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRUYXJnZXRE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmll +bGRUYXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l +PSJPdmVycmlkZVZhbHVlSGFuZGxpbmciPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz +dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMYXN0VXNhYmxlVmFsdWVfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iT3ZlcnJpZGVWYWx1ZV8yIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3ZlcnJpZGVW +YWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGlu +ZyIgdHlwZT0idG5zOk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9 +InRuczpMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9y +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2Rl +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxp +c3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpYmVkRGF0 +YVNldE1pcnJvckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +dWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiB0eXBl +PSJ0bnM6U3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJl +ZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0 +TWlycm9yRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldHMiIHR5cGU9 +InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9ucyIgdHlwZT0i +dG5zOkxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi +IHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRh +dGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9 IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ -dWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25m -aWd1cmF0aW9uUmVmRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9u -RWxlbWVudCIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklkZW50aWZpZXIiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgdHlwZT0idG5z -OlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblZh -bHVlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCI+DQog -ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJhc2ljXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFkdmFu -Y2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluZm9fMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IkRlYnVnXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6RGlh -Z25vc3RpY3NMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGlhZ25v -c3RpY3NMZXZlbCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0idG5zOkRpYWdub3N0aWNzTGV2ZWwiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY3NMZXZlbCIg -dHlwZT0idG5zOkxpc3RPZkRpYWdub3N0aWNzTGV2ZWwiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRl -ckNsYXNzaWZpY2F0aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5mb3JtYXRpb25fMCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K -ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNz -Q291bnRlckNsYXNzaWZpY2F0aW9uIiB0eXBlPSJ0bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVy -Q2xhc3NpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1 -YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNh -dGlvbiIgdHlwZT0idG5zOlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkRp -YWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViRGlh -Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dENsYXNzSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5l -dHdvcmtNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWdu -ZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dFdyaXRlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTWV0YURhdGFWZXJzaW9uIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik1pbm9yVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1cyIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBheWxvYWQiIHR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNl -dE1lc3NhZ2UiIHR5cGU9InRuczpKc29uRGF0YVNldE1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0TWV0YURhdGFNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3Ry +dWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25maWd1 +cmF0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE5hbWUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJz +Y3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWRE +YXRhU2V0UmVmRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0 +YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZE +YXRhVHlwZSIgdHlwZT0idG5zOlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGFuZGFs +b25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpTdWJzY3JpYmVkRGF0 +YVNldERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Rm9sZGVyIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNl +dE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNj +cmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFT +ZXREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhbmRhbG9u +ZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBl +PSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0YW5k +YWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3RhbmRhbG9u +ZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlY3VyaXR5R3JvdXBEYXRhVHlwZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVNldFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNZXRhRGF0YSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIHR5 -cGU9InRuczpKc29uRGF0YVNldE1ldGFEYXRhTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iSnNvbkFwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlv -bkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFwcGxpY2F0aW9uRGVz -Y3JpcHRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNz -YWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uU2VydmVyRW5kcG9pbnRzTWVz -c2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2Fn -ZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -bGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0 -eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxp -c3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSnNvblNlcnZlckVuZHBvaW50c01lc3NhZ2UiIHR5cGU9InRuczpKc29uU2VydmVyRW5k -cG9pbnRzTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvblN0YXR1c01l -c3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh -Z2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0N5Y2xpYyIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5leHRSZXBvcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikpzb25TdGF0dXNNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvblN0YXR1c01l -c3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25QdWJTdWJDb25uZWN0aW9u -TWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVz -c2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb24i -IHR5cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiB0eXBlPSJ0bnM6 -SnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJKc29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvblRhcmdl -dERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdCIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2RzIiB0eXBl -PSJ0bnM6TGlzdE9mQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVzc2FnZSIgdHlwZT0idG5zOkpzb25B -Y3Rpb25NZXRhRGF0YU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25B -Y3Rpb25SZXNwb25kZXJNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ29ubmVjdGlvbiIgdHlwZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2Fn -ZSIgdHlwZT0idG5zOkpzb25BY3Rpb25SZXNwb25kZXJNZXNzYWdlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uTmV0d29ya01lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUFkZHJlc3MiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -cnJlbGF0aW9uRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdG9ySWQiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRpbWVvdXRIaW50IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFj -dGlvbk5ldHdvcmtNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFjdGlvbk5ldHdvcmtNZXNzYWdlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uUmVxdWVzdE1lc3NhZ2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJ -ZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0SWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiB0 +bmFtZT0iU2VjdXJpdHlHcm91cEZvbGRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iS2V5TGlm +ZXRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEZ1dHVyZUtl +eUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UGFzdEtleUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cElkIiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGFE -YXRhVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5v -clZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0 -YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSnNvbkFjdGlvblJlcXVlc3RNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFjdGlvblJlcXVl -c3RNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uUmVzcG9u -c2VNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhU2V0V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4czp1bnNpZ25l -ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 -V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNZXRhRGF0YVZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBl -PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdElkIiB0eXBlPSJ4czp1bnNp -Z25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rp -b25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvblJlc3BvbnNlTWVzc2Fn -ZSIgdHlwZT0idG5zOkpzb25BY3Rpb25SZXNwb25zZU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBbGlhc05hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VkTm9kZXMiIHR5cGU9InVhOkxpc3RPZkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiB0eXBlPSJ0bnM6 -QWxpYXNOYW1lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFs -aWFzTmFtZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkFsaWFzTmFtZURhdGFUeXBlIiBtaW5P +eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVy +bWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJHcm91cFByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBh +aXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cERh +dGFUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VjdXJpdHlHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2VjdXJpdHlHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJLZXlQdXNo +VGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdXNoVGFyZ2V0Rm9sZGVyIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vj +dXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRu +czpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRLZXlDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRT +aG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0cnlJbnRl +cnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdXNoVGFyZ2V0UHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFp +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlY3VyaXR5R3JvdXBzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlw +ZSIgdHlwZT0idG5zOlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3Vi +S2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViS2V5UHVzaFRhcmdl +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlB1 +YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldHMiIHR5cGU9InRuczpMaXN0 +T2ZTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Q2xhc3Nl +cyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVmYXVsdFNlY3Vy +aXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5R3JvdXBzIiB0eXBlPSJ0bnM6TGlzdE9mU2VjdXJpdHlHcm91cERhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlB1YlN1YktleVB1c2hUYXJnZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViS2V5UHVzaFRh +cmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp +Z3VyYXRpb25Qcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSIg +dHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb24y +RGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29u +ZmlndXJhdGlvbjJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSI+DQogICAgPHhzOnJlc3Ry +aWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +ZGVmaW5lZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc2NlbmRpbmdXcml0 +ZXJJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc2NlbmRpbmdXcml0ZXJJ +ZFNpbmdsZV8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRPcmRlcmluZ1R5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFT +ZXRPcmRlcmluZ1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRPcmRlcmluZ1R5cGUiIHR5cGU9InRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRP +cmRlcmluZ1R5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0T3JkZXJpbmdUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVYWRwTmV0 +d29ya01lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu +c2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0 +bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBOZXR3b3JrTWVzc2Fn +ZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1h +c2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250 +ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJH +cm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5n +IiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu +czpVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nT2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nT2Zm +c2V0IiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl +PSJ0bnM6VWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwV3JpdGVyR3JvdXBNZXNz +YWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog +IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdl +Q29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRNZXNzYWdlQ29udGVu +dE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBE +YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0 +YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNv +bnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmVkU2l6ZSIg +dHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9m +ZnNldCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFdyaXRlck1lc3Nh +Z2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +VWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0V3Jp +dGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR3JvdXBWZXJzaW9uIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5l +dHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9mZnNldCIgdHlwZT0ieHM6 +dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0i +dG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0i +dG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi +bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZl +T2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5nT2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6VWFk +cERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VE +YXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkFsaWFzTmFtZURhdGFUeXBl -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l -PSJQYXNzd29yZE9wdGlvbnNNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z -aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFzc3dvcmRPcHRpb25zTWFzayIgdHlwZT0idG5zOlBhc3N3b3Jk -T3B0aW9uc01hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBhc3N3b3Jk -T3B0aW9uc01hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlBhc3N3b3JkT3B0aW9uc01hc2siIHR5cGU9InRuczpQYXNzd29yZE9wdGlvbnNNYXNrIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhc3N3b3JkT3B0 -aW9uc01hc2siIHR5cGU9InRuczpMaXN0T2ZQYXNzd29yZE9wdGlvbnNNYXNrIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyQ29uZmln -dXJhdGlvbk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ -DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJVc2VyQ29uZmlndXJhdGlvbk1hc2siIHR5cGU9InRuczpVc2VyQ29uZmlndXJhdGlv -bk1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJDb25maWd1cmF0 -aW9uTWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckNvbmZpZ3VyYXRpb25NYXNrIiB0eXBlPSJ0bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJDb25maWd1 -cmF0aW9uTWFzayIgdHlwZT0idG5zOkxpc3RPZlVzZXJDb25maWd1cmF0aW9uTWFzayIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck1h -bmFnZW1lbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJDb25maWd1cmF0aW9uIiB0eXBl -PSJ0bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIHR5cGU9InRu -czpVc2VyTWFuYWdlbWVudERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZVc2VyTWFuYWdlbWVudERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VyTWFuYWdlbWVudERhdGFUeXBlIiB0eXBlPSJ0bnM6VXNlck1h -bmFnZW1lbnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVXNlck1hbmFnZW1lbnREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jb2RlZFRpY2tldCIgdHlwZT0ieHM6c3Ry -aW5nIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEdXBsZXgiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJG -dWxsXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhhbGZfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRHVwbGV4IiB0eXBl -PSJ0bnM6RHVwbGV4IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEdXBsZXgi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkR1cGxleCIgdHlw -ZT0idG5zOkR1cGxleCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZEdXBsZXgiIHR5cGU9InRuczpMaXN0T2ZEdXBsZXgiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkludGVyZmFjZUFkbWluU3Rh -dHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUZXN0aW5nXzIiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgdHlwZT0idG5zOkludGVyZmFjZUFkbWluU3RhdHVz -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1 -cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW50ZXJmYWNl -QWRtaW5TdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VBZG1pblN0YXR1cyIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1 -cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZUFkbWluU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJbnRlcmZhY2VPcGVyU3Rh -dHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUZXN0aW5nXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iRG9ybWFudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb3RQcmVzZW50XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxvd2VyTGF5 -ZXJEb3duXzYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VPcGVyU3RhdHVzIiB0eXBlPSJ0bnM6SW50ZXJm -YWNlT3BlclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSW50ZXJm -YWNlT3BlclN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5zOkludGVyZmFjZU9wZXJTdGF0dXMiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50ZXJmYWNl -T3BlclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZU9wZXJTdGF0dXMiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5lZ290aWF0 -aW9uU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5Qcm9ncmVzc18wIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJDb21wbGV0ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJGYWlsZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl8zIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb05lZ290aWF0aW9uXzQiIC8+DQogICAg -PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOk5lZ290aWF0aW9uU3RhdHVzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlvblN0YXR1cyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIHR5 -cGU9InRuczpOZWdvdGlhdGlvblN0YXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZk5l -Z290aWF0aW9uU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpz -aW1wbGVUeXBlICBuYW1lPSJUc25GYWlsdXJlQ29kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vRmFpbHVyZV8w -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnN1ZmZpY2llbnRCYW5kd2lkdGhf -MSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zdWZmaWNpZW50UmVzb3VyY2Vz -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc3VmZmljaWVudFRyYWZmaWND -bGFzc0JhbmR3aWR0aF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1J -ZEluVXNlXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVhbURlc3RpbmF0 -aW9uQWRkcmVzc0luVXNlXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVh -bVByZWVtcHRlZEJ5SGlnaGVyUmFua182IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJMYXRlbmN5SGFzQ2hhbmdlZF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJF -Z3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZV84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VEaWZmZXJlbnREZXN0aW5hdGlvbkFkZHJlc3NfOSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iT3V0T2ZNc3JwUmVzb3VyY2VzXzEwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPdXRPZk1tcnBSZXNvdXJjZXNfMTEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkNhbm5vdFN0b3JlRGVzdGluYXRpb25BZGRyZXNzXzEyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJQcmlvcml0eUlzTm90QW5TcmNDbGFzc18xMyIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWF4RnJhbWVTaXplVG9vTGFyZ2VfMTQiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heEZhbkluUG9ydHNMaW1pdFJlYWNoZWRfMTUiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZpcnN0VmFsdWVDaGFuZ2VkRm9yU3RyZWFt -SWRfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZsYW5CbG9ja2VkT25FZ3Jl -c3NfMTciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZsYW5UYWdnaW5nRGlzYWJs -ZWRPbkVncmVzc18xOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3JDbGFzc1By -aW9yaXR5TWlzbWF0Y2hfMTkiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZlYXR1 -cmVOb3RQcm9wYWdhdGVkXzIwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNYXhM -YXRlbmN5RXhjZWVkZWRfMjEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyaWRn -ZURvZXNOb3RQcm92aWRlTmV0d29ya0lkXzIyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTdHJlYW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWRfMjMiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlN0cmVhbUlkVHlwZU5vdFN1cHBvcnRlZF8yNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRmVhdHVyZU5vdFN1cHBvcnRlZF8yNSIgLz4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzbkZh -aWx1cmVDb2RlIiB0eXBlPSJ0bnM6VHNuRmFpbHVyZUNvZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlRzbkZhaWx1cmVDb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOlRzbkZhaWx1cmVD -b2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRz -bkZhaWx1cmVDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuRmFpbHVyZUNvZGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRzblN0cmVhbVN0 -YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQ29uZmlndXJpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVh -ZHlfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BlcmF0aW9uYWxfMyIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfNCIgLz4NCiAgICA8L3hzOnJlc3Ry -aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzblN0cmVh -bVN0YXRlIiB0eXBlPSJ0bnM6VHNuU3RyZWFtU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRzblN0cmVhbVN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUc25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOlRzblN0cmVhbVN0YXRl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRzblN0 -cmVhbVN0YXRlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuU3RyZWFtU3RhdGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRzblRhbGtlclN0YXR1 -cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UmVhZHlfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRmFpbGVkXzIiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpUc25UYWxrZXJTdGF0dXMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0YXR1cyI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuVGFsa2VyU3RhdHVzIiB0eXBlPSJ0 -bnM6VHNuVGFsa2VyU3RhdHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZlRzblRhbGtlclN0 -YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWR5XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlBhcnRpYWxGYWlsZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RmFpbGVkXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIgdHlwZT0idG5zOlRzbkxpc3Rl -bmVyU3RhdHVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25MaXN0ZW5l -clN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNu -TGlzdGVuZXJTdGF0dXMiIHR5cGU9InRuczpUc25MaXN0ZW5lclN0YXR1cyIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUc25MaXN0ZW5lclN0YXR1cyIg -dHlwZT0idG5zOkxpc3RPZlRzbkxpc3RlbmVyU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJDaGFzc2lzSWRTdWJ0eXBlIj4NCiAg -ICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQ2hhc3Npc0NvbXBvbmVudF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJbnRlcmZhY2VBbGlhc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQ -b3J0Q29tcG9uZW50XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1hY0FkZHJl -c3NfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmV0d29ya0FkZHJlc3NfNSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW50ZXJmYWNlTmFtZV82IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMb2NhbF83IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhc3Npc0lkU3Vi -dHlwZSIgdHlwZT0idG5zOkNoYXNzaXNJZFN1YnR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNoYXNzaXNJZFN1YnR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkNoYXNzaXNJZFN1YnR5cGUiIHR5cGU9InRuczpDaGFzc2lzSWRT -dWJ0eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkNoYXNzaXNJZFN1YnR5cGUiIHR5cGU9InRuczpMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQb3J0 -SWRTdWJ0eXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW50ZXJmYWNlQWxpYXNfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUG9ydENvbXBvbmVudF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJNYWNBZGRyZXNzXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Ik5ldHdvcmtBZGRyZXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVy -ZmFjZU5hbWVfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWdlbnRDaXJjdWl0 -SWRfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9jYWxfNyIgLz4NCiAgICA8 +aXN0T2ZVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlVh +ZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8 L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlBvcnRJZFN1YnR5cGUiIHR5cGU9InRuczpQb3J0SWRTdWJ0eXBlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0SWRTdWJ0eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6UG9ydElkU3Vi -dHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ -b3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mUG9ydElkU3VidHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWFuQWRkcklmU3Vi -dHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVW5rbm93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQb3J0UmVmXzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5c3RlbVBvcnROdW1iZXJfMyIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1hbkFkZHJJZlN1YnR5cGUiIHR5cGU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNYW5BZGRySWZTdWJ0eXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYW5BZGRySWZTdWJ0eXBlIiB0 -eXBlPSJ0bnM6TWFuQWRkcklmU3VidHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZNYW5BZGRySWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTWFu -QWRkcklmU3VidHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXBwaW5nVXJpIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJQcmlvcml0eUxhYmVsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eVZhbHVlX1BDUCIgdHlw -ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQcmlvcml0eVZhbHVlX0RTQ1AiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiB0eXBlPSJ0bnM6UHJpb3JpdHlN -YXBwaW5nRW50cnlUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQcmlv -cml0eU1hcHBpbmdFbnRyeVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgdHlwZT0idG5zOlByaW9yaXR5TWFw -cGluZ0VudHJ5VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJlc3NU -eFBvcnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRyZXNzU3VidHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbkFkZHJlc3MiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR4RW5h -YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBZGRyTGVuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TWFuQWRkcklmU3Vi -dHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWZJZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwTWFuYWdlbWVudEFk -ZHJlc3NUeFBvcnRUeXBlIiB0eXBlPSJ0bnM6TGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRy -ZXNzVHhQb3J0VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgdHlwZT0idG5zOkxsZHBNYW5hZ2Vt -ZW50QWRkcmVzc1R4UG9ydFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4UG9y -dFR5cGUiIHR5cGU9InRuczpMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJlc3NUeFBvcnRUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -bGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBZGRyZXNzU3VidHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZHJlc3MiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklmU3VidHlwZSIgdHlwZT0idG5zOk1hbkFkZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklmSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgdHlwZT0i -dG5zOkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiIHR5cGU9 -InRuczpMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFk -ZHJlc3NUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGxk -cFRsdlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRs -dlR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUbHZJbmZvIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFRsdlR5cGUiIHR5cGU9InRuczpMbGRwVGx2 -VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcFRsdlR5cGUiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBUbHZUeXBlIiB0 -eXBlPSJ0bnM6TGxkcFRsdlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBUbHZUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mTGxkcFRsdlR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp -bXBsZVR5cGUgIG5hbWU9IkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwU3lzdGVtQ2FwYWJpbGl0 -aWVzTWFwIiB0eXBlPSJ0bnM6TGxkcFN5c3RlbUNhcGFiaWxpdGllc01hcCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcFN5c3RlbUNhcGFiaWxpdGllc01hcCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFN5c3RlbUNhcGFiaWxp -dGllc01hcCIgdHlwZT0idG5zOkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTGxkcFN5c3RlbUNhcGFiaWxp -dGllc01hcCIgdHlwZT0idG5zOkxpc3RPZkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVy -ZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNvdXJjZU5vZGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGUi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZSIgdHlwZT0idWE6RXhw -YW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl -bmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgdHlwZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2Ny -aXB0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlTGlz -dEVudHJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0 -Tm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVu -Y2VMaXN0RW50cnlEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVm -ZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkVHlwZSI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik51bWVyaWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RyaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikd1aWRfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BhcXVlXzMiIC8+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5 -cGU9InRuczpJZFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZklkVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0 -eXBlPSJ0bnM6SWRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZklkVHlwZSIgdHlwZT0idG5zOkxpc3RPZklkVHlwZSIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUNsYXNzIj4NCiAg -ICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -T2JqZWN0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlZhcmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UmVmZXJlbmNlVHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5 -cGVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu -c2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5 -cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjY2Vzc0xldmVsVHlwZSI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkQnl0ZSI+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZl -bFR5cGUiIHR5cGU9InRuczpBY2Nlc3NMZXZlbFR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9IkFjY2Vzc0xldmVsRXhUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6 -dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeFR5cGUiIHR5cGU9InRuczpBY2Nlc3NM -ZXZlbEV4VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXZlbnROb3RpZmllclR5 -cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAgIDwv -eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -RXZlbnROb3RpZmllclR5cGUiIHR5cGU9InRuczpFdmVudE5vdGlmaWVyVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cm1pc3Npb25zIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBl -IiB0eXBlPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv -biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5z -OkRhdGFUeXBlRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24i -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVm -aW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlw -ZSAgbmFtZT0iU3RydWN0dXJlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aFN1YnR5cGVkVmFsdWVzXzMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uV2l0aFN1YnR5cGVkVmFsdWVzXzQiIC8+DQog +Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25O +ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBl +PSJ0bnM6TGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25Xcml0ZXJHcm91 +cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uV3JpdGVyR3Jv +dXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxp +c3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9u -IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh -bHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0cmlu -Z0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IklzT3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRmllbGQiIHR5cGU9 -InRuczpTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiIHR5cGU9InRuczpM -aXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE -YXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC -YXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0 -bnM6U3RydWN0dXJlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5zOlN0 -cnVjdHVyZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0 -cnVjdHVyZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJl -RGVmaW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRW51bURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZpbml0 -aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIgdHlw -ZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5z -Okxpc3RPZkVudW1EZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlw -ZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBl -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25z -IiB0eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclJvbGVQZXJtaXNzaW9u -cyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u -cyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGUiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSW5zdGFuY2VOb2RlIj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnN0YW5jZU5vZGUiIHR5cGU9InRu -czpJbnN0YW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlR5cGVOb2RlIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlTm9kZSIgdHlw -ZT0idG5zOlR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3ROb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +YW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0 +TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZK +c29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu +czpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIg +dHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNl +dFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVyTWVzc2Fn +ZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRX +cml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRS +ZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNl +dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0UmVhZGVyTWVzc2Fn +ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNl +dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpK +c29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3Nh +Z2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUW9zRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NEYXRh +VHlwZSIgdHlwZT0idG5zOlFvc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUW9zRGF0YVR5cGUiIHR5cGU9InRuczpRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUW9z +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZRb3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNtaXRRb3NEYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpRb3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbWl0UW9zRGF0YVR5cGUiIHR5cGU9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBl +IiB0eXBlPSJ0bnM6VHJhbnNtaXRRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlRyYW5zbWl0UW9zRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbWl0UW9zUHJp +b3JpdHlEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5TGFi +ZWwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zUHJpb3JpdHlE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NQ +cmlvcml0eURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUcmFuc21pdFFvc1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpUcmFuc21pdFFvc1By +aW9yaXR5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZlRyYW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVjZWl2ZVFvc0RhdGFU +eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVjZWl2ZVFvc0RhdGFUeXBlIiB0eXBlPSJ0bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVRb3NEYXRhVHlwZSIg +dHlwZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVjZWl2ZVFvc0RhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mUmVjZWl2ZVFvc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWNlaXZlUW9zUHJpb3JpdHlE +YXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWNlaXZlUW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFv +c1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVjZWl2ZVFvc1ByaW9yaXR5RGF0 +YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2Vp +dmVRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +UmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlB +ZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3Bv +cnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0 +YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFncmFt +Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUFubm91bmNlUmF0ZSIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaXNjb3ZlcnlNYXhNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NDYXRlZ29yeSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFncmFtUW9zIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25U +cmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQy +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u +bmVjdGlvblRyYW5zcG9ydDJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRh +Z3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhZ3Jh +bUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh +Z2VSZXBlYXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdE5vZGUiIHR5cGU9InRuczpPYmplY3ROb2Rl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlTm9kZSI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJPYmplY3RUeXBlTm9kZSIgdHlwZT0idG5zOk9iamVjdFR5cGVOb2RlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2Rl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh -bHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5 -cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVs -IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGlu -Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsRXgiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRu -czpWYXJpYWJsZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlw -ZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpM -aXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRh +VHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3Jh +bVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBU +cmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSI+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkcmVzcyIg +dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlFvc0NhdGVnb3J5IiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YWdyYW1Rb3MiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaXNjb3ZlcnlBbm5vdW5jZVJhdGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9waWMiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBU +cmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0 +MkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbVdy +aXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiB0 +eXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRh +dGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRl +clRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnRE +YXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUW9zQ2F0ZWdvcnki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVFvcyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5z +aW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRvcGljIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIg +dHlwZT0idG5zOkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbURhdGFTZXRSZWFkZXJUcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3Jh +bURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1EYXRhU2V0 +UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhZ3JhbURhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2lwaGVyU3Vp +dGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNpcGhlclN1aXRlcyIgdHlwZT0idWE6TGlzdE9m +U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iWmVyb1JUVCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVHcm91cElkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJWZXJpZnlDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpEdGxzUHVi +U3ViQ29ubmVjdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6RHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRHRsc1B1YlN1YkNvbm5l +Y3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25u +ZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +dXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJDb25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQnJva2VyVHJh +bnNwb3J0UXVhbGl0eU9mU2VydmljZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 +cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdFNwZWNpZmllZF8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXN0RWZmb3J0XzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkF0TGVhc3RPbmNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkF0TW9zdE9uY2VfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RXhhY3RseU9uY2VfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2Ui +IHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJUcmFuc3Bv +cnRRdWFsaXR5T2ZTZXJ2aWNlIiB0eXBlPSJ0bnM6QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2Vy +dmljZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZC +cm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyVHJh +bnNwb3J0UXVhbGl0eU9mU2VydmljZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0 +aGVudGljYXRpb25Qcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVs +aXZlcnlHdWFyYW50ZWUiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0 +eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyV3Jp +dGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlcldyaXRlckdyb3VwVHJh +bnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC +cm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNl +dFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5cGU9 +InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlwZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFt -ZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29u -dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlwZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNl -Tm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2RlIiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpU -eXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv -eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 -ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5v -ZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRu -czpSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9m -UmVmZXJlbmNlTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIi +bnQgbmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 +QnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRX +cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRXcml0ZXJUcmFu +c3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0 +YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxl +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5 +cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFu +c3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2Vy +RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi +IHR5cGU9InRuczpCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJy +b2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJl +Zk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAg +PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRp +b25SZWZNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25m +aWd1cmF0aW9uUmVmTWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIHR5cGU9InRuczpQdWJTdWJDb25maWd1 +cmF0aW9uUmVmTWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOkxpc3RPZlB1YlN1 +YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25N +YXNrIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRJbmRleCIgdHlwZT0ieHM6dW5zaWdu +ZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVj +dGlvbkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25S +ZWZEYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVi +U3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmln +dXJhdGlvbkVsZW1lbnQiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcmd1bWVudCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mQXJndW1lbnQiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bVZhbHVlVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp -c3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51 -bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6 -RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIg -dHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9m -RW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWxpZEJpdHMiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJP -cHRpb25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZk9wdGlvblNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iT3B0aW9uU2V0IiB0eXBlPSJ0bnM6T3B0aW9uU2V0IiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcHRpb25T -ZXQiIHR5cGU9InRuczpMaXN0T2ZPcHRpb25TZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9ybWFsaXplZFN0cmluZyIgdHlwZT0ieHM6c3Ry -aW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRlY2ltYWxTdHJpbmciIHR5cGU9InhzOnN0 -cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvblN0cmluZyIgdHlwZT0ieHM6 -c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVTdHJpbmciIHR5cGU9InhzOnN0 -cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRlU3RyaW5nIiB0eXBlPSJ4czpzdHJp -bmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRHVyYXRpb24iIHR5cGU9InhzOmRvdWJsZSIg -Lz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVdGNUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4N -Cg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZCIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPZmZzZXQiIHR5cGU9InhzOnNob3J0IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zm -c2V0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRh -VHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpUaW1lWm9uZURh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGltZVpv -bmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSW50ZWdlcklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iQXBwbGljYXRpb25UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNsaWVudF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJDbGllbnRBbmRTZXJ2ZXJfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iRGlzY292ZXJ5U2VydmVyXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblR5cGUiIHR5 -cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFw -cGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0 +PSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGlmaWVyIiB0eXBlPSJ1YTpWYXJpYW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIHR5 +cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3Vy +YXRpb25WYWx1ZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRpYWdub3N0aWNzTGV2 +ZWwiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJCYXNpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJBZHZhbmNlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbmZvXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxvZ18zIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJEZWJ1Z180IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 +c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0i +dG5zOkRpYWdub3N0aWNzTGV2ZWwiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkRpYWdub3N0aWNzTGV2ZWwiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIHR5cGU9InRuczpEaWFnbm9zdGljc0xldmVsIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRpYWdub3N0aWNz +TGV2ZWwiIHR5cGU9InRuczpMaXN0T2ZEaWFnbm9zdGljc0xldmVsIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQdWJTdWJEaWFnbm9zdGlj +c0NvdW50ZXJDbGFzc2lmaWNhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 +cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluZm9ybWF0aW9uXzAiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzEiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJEaWFn +bm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgdHlwZT0idG5zOlB1YlN1YkRpYWdub3N0aWNz +Q291bnRlckNsYXNzaWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xh +c3NpZmljYXRpb24iIHR5cGU9InRuczpQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNh +dGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ +dWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgdHlwZT0idG5zOkxpc3RPZlB1 +YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2Ui +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VJZCIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hl +cklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlcyIgdHlwZT0idWE6TGlz +dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikpzb25OZXR3b3JrTWVzc2FnZSIgdHlwZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9Inhz +OnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRXcml0ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51 +bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJz +aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0eXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNv +bkRhdGFTZXRNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNldE1ldGFEYXRhTWVzc2FnZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbk5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBcHBsaWNhdGlvblR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVy -eVVybHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25E -ZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQXBwbGljYXRp -b25EZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZBcHBs -aWNhdGlvbkRlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJSZXF1ZXN0SGVhZGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuRGlhZ25vc3Rp -Y3MiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBdWRpdEVudHJ5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVvdXRIaW50IiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkaXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXNwb25zZUhlYWRl -ciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w -IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VSZXN1bHQiIHR5cGU9InVhOlN0YXR1 -c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VE -aWFnbm9zdGljcyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmdUYWJsZSIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWRkaXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVy -c2lvblRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTZXJ2aWNlRmF1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUZhdWx0IiB0eXBlPSJ0bnM6U2Vy -dmljZUZhdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9ubGVzc0ludm9r -ZVJlcXVlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVcmlzVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlt +ZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0TWV0YURhdGFNZXNz +YWdlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikpzb25BcHBsaWNhdGlvbkRlc2NyaXB0aW9uTWVzc2FnZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBw +bGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9m +U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BcHBsaWNh +dGlvbkRlc2NyaXB0aW9uTWVzc2FnZSIgdHlwZT0idG5zOkpzb25BcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvblNlcnZlckVuZHBv +aW50c01lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiIHR5cGU9InRuczpT -ZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVyVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUlkIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVz -cG9uc2VUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z -OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1 -ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw -ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj -b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP -bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +bWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludHMiIHR5cGU9 +InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl -ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS -ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz -IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG -aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw -cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9u -Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZWN1cml0 -eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6 -TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTWVzc2Fn -ZVNlY3VyaXR5TW9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 -InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFub255bW91c18wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv -eHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuVHlwZSIgdHlwZT0i -dG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJUb2tl -blBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9s -aWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5 -cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlZFRva2Vu -VHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY3VyaXR5UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xp -Y3kiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl -blBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9s -aWN5IiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9u -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5n +bGVtZW50IG5hbWU9Ikpzb25TZXJ2ZXJFbmRwb2ludHNNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvblNl +cnZlckVuZHBvaW50c01lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25T +dGF0dXNNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpk +YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNDeWNs +aWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1cyIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXh0UmVwb3J0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uU3RhdHVzTWVzc2FnZSIgdHlwZT0idG5zOkpzb25T +dGF0dXNNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uUHViU3ViQ29u +bmVjdGlvbk1lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25u +ZWN0aW9uIiB0eXBlPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgdHlw +ZT0idG5zOkpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz +YWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZBY3Rp +b25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3QiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBl IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlw -ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpF -bmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0 -bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9j -YWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlz -dE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBv -aW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVz -cG9uc2UiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJp +ZT0iUmVzcG9uc2UiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uTWV0aG9k +cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvbk1ldGhvZERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BY3Rpb25NZXRhRGF0YU1lc3NhZ2UiIHR5cGU9InRu +czpKc29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlw +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz +dGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNvbm5lY3Rpb24iIHR5cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvblJlc3BvbmRl +ck1lc3NhZ2UiIHR5cGU9InRuczpKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2FnZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlvbk5ldHdvcmtNZXNzYWdlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VBZGRyZXNzIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb3JyZWxhdGlvbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3Rvcklk IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lcyIgdHlwZT0idWE6TGlzdE9mTG9jYWxpemVk -VGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlclR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRpc2NvdmVyeVVybHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbWFwaG9y -ZUZpbGVQYXRoIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc09ubGluZSIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3Rl -cmVkU2VydmVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVk -U2VydmVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp -c3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgdHlwZT0idG5zOkxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2Vy -dmVyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRu -czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlcyIgdHlwZT0idWE6TGlz +dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJS -ZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2Fw -YWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOk1kbnNEaXNj -b3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rl -clNlcnZlcjJSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlw -ZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ1 -YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +Ikpzb25BY3Rpb25OZXR3b3JrTWVzc2FnZSIgdHlwZT0idG5zOkpzb25BY3Rpb25OZXR3b3JrTWVz +c2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlvblJlcXVlc3RNZXNz +YWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 +V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVy +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXRhRGF0YVZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uU3RhdGUiIHR5cGU9InRuczpB +Y3Rpb25TdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGF5 +bG9hZCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikpzb25BY3Rpb25SZXF1ZXN0TWVzc2FnZSIgdHlwZT0idG5zOkpzb25BY3Rp +b25SZXF1ZXN0TWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlv +blJlc3BvbnNlTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVNldFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXRJZCIgdHlwZT0ieHM6 +dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YVNldFdyaXRlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWV0YURhdGFWZXJzaW9uIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZl +cnNpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1pbm9yVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6 +ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 +cyIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RJZCIgdHlwZT0i +eHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWN0aW9uU3RhdGUiIHR5cGU9InRuczpBY3Rpb25TdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGF5bG9hZCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BY3Rpb25SZXNwb25z +ZU1lc3NhZ2UiIHR5cGU9InRuczpKc29uQWN0aW9uUmVzcG9uc2VNZXNzYWdlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJBbGlhc05hbWVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXNOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlZE5vZGVzIiB0eXBlPSJ1YTpMaXN0T2ZFeHBhbmRlZE5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbGlhc05hbWVEYXRhVHlwZSIgdHlw +ZT0idG5zOkFsaWFzTmFtZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZBbGlhc05hbWVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUiIHR5cGU9InRuczpBbGlhc05hbWVEYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyMlJl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlw +bmFtZT0iTGlzdE9mQWxpYXNOYW1lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBbGlhc05hbWVE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlw +ZSAgbmFtZT0iUGFzc3dvcmRPcHRpb25zTWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 +InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhc3N3b3JkT3B0aW9uc01hc2siIHR5cGU9InRuczpQ +YXNzd29yZE9wdGlvbnNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQ +YXNzd29yZE9wdGlvbnNNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQYXNzd29yZE9wdGlvbnNNYXNrIiB0eXBlPSJ0bnM6UGFzc3dvcmRPcHRpb25zTWFz +ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQYXNz +d29yZE9wdGlvbnNNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mUGFzc3dvcmRPcHRpb25zTWFzayIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNl +ckNvbmZpZ3VyYXRpb25NYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWdu +ZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckNvbmZpZ3VyYXRpb25NYXNrIiB0eXBlPSJ0bnM6VXNlckNvbmZp +Z3VyYXRpb25NYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVc2VyQ29u +ZmlndXJhdGlvbk1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJDb25maWd1cmF0aW9uTWFzayIgdHlwZT0idG5zOlVzZXJDb25maWd1cmF0aW9uTWFz +ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2Vy +Q29uZmlndXJhdGlvbk1hc2siIHR5cGU9InRuczpMaXN0T2ZVc2VyQ29uZmlndXJhdGlvbk1hc2si +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQ29uZmlndXJhdGlv +biIgdHlwZT0idG5zOlVzZXJDb25maWd1cmF0aW9uTWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTWFuYWdlbWVudERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VXNlck1hbmFnZW1lbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mVXNlck1hbmFnZW1lbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck1hbmFnZW1lbnREYXRhVHlwZSIgdHlwZT0idG5z +OlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZVc2VyTWFuYWdlbWVudERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkVuY29kZWRUaWNrZXQiIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRHVwbGV4Ij4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iRnVsbF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIYWxmXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fMiIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkR1cGxl +eCIgdHlwZT0idG5zOkR1cGxleCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RHVwbGV4Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEdXBs +ZXgiIHR5cGU9InRuczpEdXBsZXgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mRHVwbGV4IiB0eXBlPSJ0bnM6TGlzdE9mRHVwbGV4IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJbnRlcmZhY2VB +ZG1pblN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRvd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGVzdGluZ18y +IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSW50ZXJmYWNlQWRtaW5TdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VBZG1p +blN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSW50ZXJmYWNlQWRt +aW5TdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu +dGVyZmFjZUFkbWluU3RhdHVzIiB0eXBlPSJ0bnM6SW50ZXJmYWNlQWRtaW5TdGF0dXMiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50ZXJmYWNlQWRt +aW5TdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1cyIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSW50ZXJmYWNl +T3BlclN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRvd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGVzdGluZ18y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzMiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRvcm1hbnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iTm90UHJlc2VudF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJM +b3dlckxheWVyRG93bl82IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5z +OkludGVyZmFjZU9wZXJTdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkludGVyZmFjZU9wZXJTdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkludGVyZmFjZU9wZXJTdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VPcGVyU3Rh +dHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZklu +dGVyZmFjZU9wZXJTdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZJbnRlcmZhY2VPcGVyU3RhdHVzIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJO +ZWdvdGlhdGlvblN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluUHJvZ3Jlc3NfMCIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tcGxldGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iRmFpbGVkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25v +d25fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9OZWdvdGlhdGlvbl80IiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIHR5cGU9InRuczpOZWdvdGlhdGlvblN0YXR1cyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmVnb3RpYXRpb25TdGF0dXMiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5lZ290aWF0aW9uU3Rh +dHVzIiB0eXBlPSJ0bnM6TmVnb3RpYXRpb25TdGF0dXMiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmVnb3RpYXRpb25TdGF0dXMiIHR5cGU9InRuczpM +aXN0T2ZOZWdvdGlhdGlvblN0YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVHNuRmFpbHVyZUNvZGUiPg0KICAgIDx4czpyZXN0cmlj +dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0Zh +aWx1cmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zdWZmaWNpZW50QmFu +ZHdpZHRoXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc3VmZmljaWVudFJl +c291cmNlc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnN1ZmZpY2llbnRU +cmFmZmljQ2xhc3NCYW5kd2lkdGhfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RyZWFtSWRJblVzZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1E +ZXN0aW5hdGlvbkFkZHJlc3NJblVzZV81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTdHJlYW1QcmVlbXB0ZWRCeUhpZ2hlclJhbmtfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iTGF0ZW5jeUhhc0NoYW5nZWRfNyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iRWdyZXNzUG9ydE5vdEF2YkNhcGFibGVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXNlRGlmZmVyZW50RGVzdGluYXRpb25BZGRyZXNzXzkiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ik91dE9mTXNycFJlc291cmNlc18xMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iT3V0T2ZNbXJwUmVzb3VyY2VzXzExIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJDYW5ub3RTdG9yZURlc3RpbmF0aW9uQWRkcmVzc18xMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUHJpb3JpdHlJc05vdEFuU3JjQ2xhc3NfMTMiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heEZyYW1lU2l6ZVRvb0xhcmdlXzE0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNYXhGYW5JblBvcnRzTGltaXRSZWFjaGVk +XzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaXJzdFZhbHVlQ2hhbmdlZEZv +clN0cmVhbUlkXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWbGFuQmxvY2tl +ZE9uRWdyZXNzXzE3IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWbGFuVGFnZ2lu +Z0Rpc2FibGVkT25FZ3Jlc3NfMTgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNy +Q2xhc3NQcmlvcml0eU1pc21hdGNoXzE5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJGZWF0dXJlTm90UHJvcGFnYXRlZF8yMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTWF4TGF0ZW5jeUV4Y2VlZGVkXzIxIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJCcmlkZ2VEb2VzTm90UHJvdmlkZU5ldHdvcmtJZF8yMiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iU3RyZWFtVHJhbnNmb3JtTm90U3VwcG9ydGVkXzIzIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1JZFR5cGVOb3RTdXBwb3J0ZWRfMjQiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZlYXR1cmVOb3RTdXBwb3J0ZWRfMjUiIC8+DQogICAg +PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOlRzbkZhaWx1cmVDb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25GYWlsdXJlQ29kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuRmFpbHVyZUNvZGUiIHR5cGU9InRuczpUc25G +YWlsdXJlQ29kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOkxpc3RPZlRzbkZhaWx1cmVDb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25T +dHJlYW1TdGF0ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkNvbmZpZ3VyaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlJlYWR5XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9wZXJhdGlvbmFs +XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzQiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJU +c25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOlRzblN0cmVhbVN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25TdHJlYW1TdGF0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuU3RyZWFtU3RhdGUiIHR5cGU9InRuczpUc25TdHJl +YW1TdGF0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZUc25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOkxpc3RPZlRzblN0cmVhbVN0YXRlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25UYWxr +ZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlJlYWR5XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8y +IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHNuVGFsa2VyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuVGFsa2VyU3RhdHVzIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25UYWxrZXJTdGF0dXMiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRzblRhbGtlclN0YXR1cyIg +dHlwZT0idG5zOlRzblRhbGtlclN0YXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZUc25U +YWxrZXJTdGF0dXMiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9IlRzbkxpc3RlbmVyU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWFkeV8xIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJQYXJ0aWFsRmFpbGVkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkZhaWxlZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiIHR5cGU9InRuczpU +c25MaXN0ZW5lclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHNu +TGlzdGVuZXJTdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlRzbkxpc3RlbmVyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuTGlzdGVuZXJTdGF0dXMiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHNuTGlzdGVuZXJT +dGF0dXMiIHR5cGU9InRuczpMaXN0T2ZUc25MaXN0ZW5lclN0YXR1cyIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQ2hhc3Npc0lkU3VidHlw ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpT -ZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNo -YW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBl -PSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +bWVyYXRpb24gdmFsdWU9IkNoYXNzaXNDb21wb25lbnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iSW50ZXJmYWNlQWxpYXNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iUG9ydENvbXBvbmVudF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJN +YWNBZGRyZXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5ldHdvcmtBZGRy +ZXNzXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVyZmFjZU5hbWVfNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9jYWxfNyIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYXNz +aXNJZFN1YnR5cGUiIHR5cGU9InRuczpDaGFzc2lzSWRTdWJ0eXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFzc2lzSWRTdWJ0eXBlIiB0eXBlPSJ0bnM6Q2hh +c3Npc0lkU3VidHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ2hhc3Npc0lkU3VidHlw +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt +ZT0iUG9ydElkU3VidHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVyZmFjZUFsaWFzXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBvcnRDb21wb25lbnRfMiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTWFjQWRkcmVzc18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJOZXR3b3JrQWRkcmVzc180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnRlcmZhY2VOYW1lXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFnZW50 +Q2lyY3VpdElkXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxvY2FsXzciIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJQb3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6UG9ydElkU3VidHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUG9ydElkU3VidHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9ydElkU3VidHlwZSIgdHlwZT0idG5zOlBv +cnRJZFN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mUG9ydElkU3VidHlwZSIgdHlwZT0idG5zOkxpc3RPZlBvcnRJZFN1YnR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1hbkFk +ZHJJZlN1YnR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVua25vd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUG9y +dFJlZl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeXN0ZW1Qb3J0TnVtYmVy +XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYW5BZGRySWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TWFuQWRkcklmU3VidHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTWFuQWRkcklmU3VidHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFuQWRkcklmU3Vi +dHlwZSIgdHlwZT0idG5zOk1hbkFkZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTWFuQWRkcklmU3VidHlwZSIgdHlwZT0idG5zOkxp +c3RPZk1hbkFkZHJJZlN1YnR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFwcGluZ1VyaSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlWYWx1ZV9Q +Q1AiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHJpb3JpdHlWYWx1ZV9EU0NQIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgdHlwZT0idG5zOlBy +aW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eU1hcHBpbmdFbnRyeVR5cGUiIHR5cGU9InRuczpQcmlv +cml0eU1hcHBpbmdFbnRyeVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIg +dHlwZT0idG5zOkxpc3RPZlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGxkcE1hbmFnZW1lbnRB +ZGRyZXNzVHhQb3J0VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkcmVzc1N1YnR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYW5BZGRyZXNzIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJUeEVuYWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWRkckxlbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklmU3VidHlwZSIgdHlwZT0idG5zOk1hbkFk +ZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklm +SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcE1hbmFn +ZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgdHlwZT0idG5zOkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4 +UG9ydFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBNYW5hZ2Vt +ZW50QWRkcmVzc1R4UG9ydFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4UG9ydFR5cGUiIHR5cGU9InRuczpMbGRw +TWFuYWdlbWVudEFkZHJlc3NUeFBvcnRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJl +c3NUeFBvcnRUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0 +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkcmVzc1N1YnR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJJZlN1YnR5cGUiIHR5cGU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZklkIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUi +IHR5cGU9InRuczpMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBl +IiB0eXBlPSJ0bnM6TGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTGxkcE1hbmFn +ZW1lbnRBZGRyZXNzVHlwZSIgdHlwZT0idG5zOkxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkxsZHBUbHZUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUbHZUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGx2SW5mbyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxsZHBUbHZUeXBlIiB0eXBlPSJ0bnM6 +TGxkcFRsdlR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBUbHZU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwVGx2 +VHlwZSIgdHlwZT0idG5zOkxsZHBUbHZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwVGx2VHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkxsZHBUbHZUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpzaW1wbGVUeXBlICBuYW1lPSJMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIj4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFN5c3RlbUNh +cGFiaWxpdGllc01hcCIgdHlwZT0idG5zOkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBTeXN0ZW1D +YXBhYmlsaXRpZXNNYXAiIHR5cGU9InRuczpMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBTeXN0ZW1D +YXBhYmlsaXRpZXNNYXAiIHR5cGU9InRuczpMaXN0T2ZMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFw +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu +Y2VUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGUiIHR5cGU9 +InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlw +dGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWZlcmVu +Y2VEZXNjcmlwdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVmZXJl +bmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb25EYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVy +ZW5jZUxpc3RFbnRyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRhcmdldE5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 +UmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VMaXN0RW50cnlEYXRhVHlwZSIgdHlwZT0i +dG5zOlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VMaXN0RW50 +cnlEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +b2dSZWNvcmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXZlcml0eSIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT +b3VyY2VOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VDb250ZXh0IiB0eXBlPSJ0 +bnM6VHJhY2VDb250ZXh0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsRGF0YSIgdHlwZT0idG5zOkxpc3RP +Zk5hbWVWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTG9n +UmVjb3JkIiB0eXBlPSJ0bnM6TG9nUmVjb3JkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZMb2dSZWNvcmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkxvZ1JlY29yZCIgdHlwZT0idG5zOkxvZ1JlY29yZCIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTG9nUmVjb3Jk +IiB0eXBlPSJ0bnM6TGlzdE9mTG9nUmVjb3JkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMb2dSZWNvcmRzRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvZ1JlY29yZEFycmF5IiB0eXBl +PSJ0bnM6TGlzdE9mTG9nUmVjb3JkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4i -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlNb2RlIiB0eXBlPSJ0 -bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExp -ZmV0aW1lIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wZW5T -ZWN1cmVDaGFubmVsUmVxdWVzdCIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlw +bWU9IkxvZ1JlY29yZHNEYXRhVHlwZSIgdHlwZT0idG5zOkxvZ1JlY29yZHNEYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9nUmVjb3Jkc0RhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2dSZWNvcmRzRGF0YVR5 +cGUiIHR5cGU9InRuczpMb2dSZWNvcmRzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvZ1JlY29yZHNEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZkxvZ1JlY29yZHNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3BhbkNvbnRleHREYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VJ +ZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3BhbklkIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +cGFuQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6U3BhbkNvbnRleHREYXRhVHlwZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3BhbkNvbnRleHREYXRhVHlwZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BhbkNvbnRleHREYXRhVHlw +ZSIgdHlwZT0idG5zOlNwYW5Db250ZXh0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNwYW5Db250ZXh0RGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTcGFuQ29udGV4dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFjZUNvbnRleHRE +YXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpTcGFuQ29udGV4dERhdGFUeXBlIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmVudFNwYW5JZCIgdHlw +ZT0ieHM6dW5zaWduZWRMb25nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUGFyZW50SWRlbnRpZmllciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VDb250ZXh0RGF0YVR5cGUiIHR5cGU9InRuczpUcmFj +ZUNvbnRleHREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJh +Y2VDb250ZXh0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRyYWNlQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6VHJhY2VDb250ZXh0RGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlRyYWNlQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJhY2VD +b250ZXh0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik5hbWVWYWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1 +YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZVZhbHVlUGFpciIgdHlwZT0idG5z +Ok5hbWVWYWx1ZVBhaXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5hbWVW +YWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5h +bWVWYWx1ZVBhaXIiIHR5cGU9InRuczpOYW1lVmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOYW1lVmFsdWVQ +YWlyIiB0eXBlPSJ0bnM6TGlzdE9mTmFtZVZhbHVlUGFpciIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTG9nUmVjb3JkTWFzayI+DQogICAg +PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxvZ1JlY29yZE1h +c2siIHR5cGU9InRuczpMb2dSZWNvcmRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZMb2dSZWNvcmRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJMb2dSZWNvcmRNYXNrIiB0eXBlPSJ0bnM6TG9nUmVjb3JkTWFzayIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2dSZWNvcmRNYXNr +IiB0eXBlPSJ0bnM6TGlzdE9mTG9nUmVjb3JkTWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSWRUeXBlIj4NCiAgICA8eHM6cmVzdHJp +Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTnVt +ZXJpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJpbmdfMSIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3VpZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJPcGFxdWVfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp +bXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5cGU9InRuczpJZFR5cGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSWRUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mSWRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQ2xhc3MiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbnNwZWNp +ZmllZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RfMSIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik9iamVjdFR5cGVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVU +eXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlXzMy +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV82NCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMjgiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcm1pc3Np +b25UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpQZXJtaXNzaW9uVHlwZSIgLz4NCg0KICA8eHM6 +c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g +YmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp +bXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0idG5z +OkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2 +ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkQnl0ZSI+DQogICAgPC94czpyZXN0cmljdGlvbj4N +CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyVHlw +ZSIgdHlwZT0idG5zOkV2ZW50Tm90aWZpZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJSb2xlUGVybWlzc2lvblR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJvbGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVybWlzc2lvbnMiIHR5cGU9 +InRuczpQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9u +VHlwZSIgdHlwZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpSb2xl +UGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOkxp +c3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0 +aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlZmluaXRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5 +cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVEZWZpbml0aW9uIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTdHJ1Y3R1 +cmVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkc18xIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJVbmlvbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTdHJ1Y3R1cmVXaXRoU3VidHlwZWRWYWx1ZXNfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVW5pb25XaXRoU3VidHlwZWRWYWx1ZXNfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5 +cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJTdHJ1Y3R1cmVGaWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2Fs +aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4 +czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGlt +ZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +SXNPcHRpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVj +dHVyZUZpZWxkIiB0eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZp +ZWxkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZp +ZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv +biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWZhdWx0RW5jb2RpbmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlw +ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0 +eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlv +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVj +dHVyZURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVt +RGVmaW5pdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0 +bnM6TGlzdE9mRW51bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51 +bURlZmluaXRpb24iIHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmlu +aXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmlu +aXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ik5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNz +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0 +eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRl +eHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1 -cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vj -dXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5 -cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3Vy -ZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURh -dGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJl -Q2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2Fy -ZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +bWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0 +T2ZSb2xlUGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiB0eXBlPSJ0bnM6TGlz +dE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiB0eXBlPSJ4czp1bnNp +Z25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VzIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0 -YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB -cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw -b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9Inhz -OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVz -cG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlm -aWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5z -Okxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIg -dHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1 -cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNw -b25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpV -c2VySWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3Vz -SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog -ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9ueW1v -dXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFtZUlk -ZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -Y3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRl -bnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9r -ZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRl -bnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVzZXJJZGVu -dGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRva2VuIiAv -Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlJzYUVuY3J5cHRlZFNlY3JldCIgdHlwZT0idWE6VmFy -aWFudCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFY2NFbmNyeXB0ZWRTZWNyZXQiIHR5cGU9 -InVhOlZhcmlhbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lv -blJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 -eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl -PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg -dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9 -InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjdGl2 -YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9 -InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIHR5cGU9InRuczpD -bG9zZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNl -c3Npb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5z -OkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5j -ZWxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5kbGUiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVxdWVzdCIg -dHlwZT0idG5zOkNhbmNlbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNh -bmNlbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9u -c2UiIHR5cGU9InRuczpDYW5jZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt -ZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry -aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb250 -YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVf -MTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0aW9uXzMyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IklzQWJz -dHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWluaW11bVNhbXBs -aW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs -YXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVJZF8xNjM4NCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMyNzY4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1MzYiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3MiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2Jq -ZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBl -XzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV8yNjU3 -MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVUeXBlXzI4NjAw -NDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfMjY2MzI1NDgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMjY1MzcwNjAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -b2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlz -cGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0 -QXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpPYmplY3RBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9 -InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1l -bnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9Inhz -OnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZUF0dHJpYnV0ZXMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4 +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGUiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJJbnN0YW5jZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikluc3RhbmNlTm9kZSIgdHlwZT0idG5zOkluc3RhbmNlTm9kZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP -YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi -bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0 -bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0K +ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlR5cGVOb2RlIiB0eXBlPSJ0bnM6VHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdE5vZGUiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5vZGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJz +dHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2Rl +IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZhcmlhYmxlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh +VHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25z +IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9 +InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlTm9kZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJs +ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0K ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0 cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv @@ -71961,2013 +75127,2742 @@ Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2Nh bGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlw -ZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxl -eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZW5lcmljQXR0 -cmlidXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmli -dXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkdlbmVyaWNBdHRy -aWJ1dGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZHZW5lcmljQXR0 -cmlidXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZVZhbHVlcyIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiB0eXBl -PSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFk -ZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p -dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFk -ZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +ZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXRob2ROb2RlIiB0eXBlPSJ0bnM6TWV0aG9kTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVmlld05vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRhaW5zTm9Mb29w +cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld05vZGUiIHR5cGU9InRuczpWaWV3Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRGF0YVR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlTm9kZSIgdHlwZT0idG5zOkRh +dGFUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlTm9kZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpF +eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJB +cmd1bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFu +ayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVu +dCIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRmllbGQiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6RW51bVZhbHVlVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRmllbGQiIHR5cGU9InRuczpFbnVtRmllbGQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1GaWVsZCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZp +ZWxkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiIHR5cGU9InRuczpMaXN0T2ZFbnVtRmllbGQiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9wdGlv +blNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i +dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u +U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T +ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp +c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91YmxlIiAvPg0KDQogIDx4czplbGVt +ZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czplbGVtZW50 +IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVGlt +ZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlZ2VySWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBcHBs +aWNhdGlvblR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTZXJ2ZXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQ2xpZW50XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNs +aWVudEFuZFNlcnZlcl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNjb3Zl +cnlTZXJ2ZXJfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0 +aW9uVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFwcGxpY2F0aW9uTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlw +ZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 +TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFwcGxp +Y2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkRl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQXBw +bGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRp +b24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlJlcXVlc3RIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1ZGl0 +RW50cnlJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZW91dEhpbnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFs +SGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9k -ZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWROb2RlSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIg -dHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +OmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlc3BvbnNlSGVhZGVyIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVU +aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFu +ZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZURpYWdub3N0aWNzIiB0eXBl +PSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWZXJzaW9uVGltZSIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VGYXVs +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNlRmF1bHQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVyaXNWZXJzaW9uIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpcyIg +dHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tl +UmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52 +b2tlUmVzcG9uc2VUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIHR5cGU9 +InRuczpTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RP +ZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpG +aW5kU2VydmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2 +ZXJzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJzIiB0eXBl +PSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyT25OZXR3b3Jr +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNvcmRJZCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeVVybCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBl +PSJ0bnM6U2VydmVyT25OZXR3b3JrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9k -ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9 -InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +dE9mU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5k +U2VydmVyc09uTmV0d29ya1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRpbmdSZWNvcmRJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNh +cGFiaWxpdHlGaWx0ZXIiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIHR5cGU9InRu +czpGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0 +T2ZTZXJ2ZXJPbk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +RmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3 +b3JrUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25JbnN0YW5j +ZUNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOnNpbXBsZVR5 +cGUgIG5hbWU9Ik1lc3NhZ2VTZWN1cml0eU1vZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl +PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iU2lnbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +aWduQW5kRW5jcnlwdF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSIgdHlwZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1lc3NhZ2VTZWN1cml0eU1vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1l +c3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJV +c2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5vbnltb3VzXzAiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlVzZXJOYW1lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkNlcnRpZmljYXRlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3Vl +ZFRva2VuXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlclRva2VuUG9saWN5Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2Vy +dGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlU +b2tlbnMiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxl +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5 +dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6 +RW5kcG9pbnREZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu +dERlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVh +Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlw +ZT0idG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkdldEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k +cG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgdHlwZT0idG5z +OkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp +c3RlcmVkU2VydmVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlw +ZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +bmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5 +cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBl +PSJ0bnM6TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 +eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2 +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJS +ZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVy +U2VydmVyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlclJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1Nl +cnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9 +InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNE +aXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJl +ZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lv +bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNl +cnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIy +UmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6 +c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +SXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4NCiAg +ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1 +ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9r +ZW4iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxJ +ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRva2VuSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVkQXQiIHR5cGU9InhzOmRhdGVUaW1lIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbFNlY3Vy +aXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 -QWRkTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJl -bmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNv -dXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIg -dHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJ -dGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFk -ZFJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +OmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tl +biIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9Inhz +OmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVu +U2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNl +IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFz +ZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlw +ZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5 +cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTaWduYXR1cmVEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIg +dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2Vz -SXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2Vz -UmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRS -ZWZlcmVuY2VzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5v -ZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6 -RGVsZXRlTm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxl -dGVOb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVs -ZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rl -c1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlw -ZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +bWVudCBuYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3Jp +cHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5 +cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRC +aW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXpl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Np +b25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25U +b2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6 +YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRE +ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9m +U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNp +Z25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6 +Q3JlYXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0K +bWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2Vu +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOkFub255bW91c0lkZW50aXR5VG9rZW4i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRo +bSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +ck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBl +PSJ0bnM6WDUwOUlkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklz +c3VlZElkZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5EYXRh +IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRobSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkSWRlbnRp +dHlUb2tlbiIgdHlwZT0idG5zOklzc3VlZElkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUnNhRW5jcnlwdGVkU2VjcmV0IiB0eXBlPSJ1YTpWYXJpYW50IiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkVjY0VuY3J5cHRlZFNlY3JldCIgdHlwZT0idWE6VmFyaWFudCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1 +cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5cGU9InRuczpMaXN0T2ZTaWdu +ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2Vu +U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0bnM6QWN0aXZh +dGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVT +ZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25j +ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz +Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9u +c2UiIHR5cGU9InRuczpBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2Vs +UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZVJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1JlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5j -ZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6cmVzdHJp -Y3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv -eHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0 -eXBlPSJ0bnM6QXR0cmlidXRlV3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l -PSJCcm93c2VEaXJlY3Rpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGb3J3YXJkXzAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkludmVyc2VfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQm90aF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzMi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24iIHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpOb2RlSWQi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxDb3VudCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXNwb25zZSIgdHlwZT0idG5zOkNh +bmNlbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQXR0cmlidXRl +c01hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5 +RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1l +XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6 +aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAy +NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +V3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVl +XzIwOTcxNTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlRGVmaW5p +dGlvbl80MTk0MzA0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSb2xlUGVybWlz +c2lvbnNfODM4ODYwOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzUmVz +dHJpY3Rpb25zXzE2Nzc3MjE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxf +MzM1NTQ0MzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzI2NTAx +MjIwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RfMjY1MDEzNDgiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdFR5cGVfMjY1MDMyNjgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzI2NTcxMzgzIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMjg2MDA0MzgiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF8yNjYzMjU0OCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZV8yNjUzNzA2MCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVmlld18yNjUwMTM1NiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFz +ayIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTm9kZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0i +dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +V3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl +cyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh +Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp +bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl +cyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQog +ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRh +YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdFR5cGVBdHRyaWJ1 +dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9 +InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6 +TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVB +dHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3lt +bWV0cmljIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlw +ZT0idG5zOlJlZmVyZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0 +cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1 +dGVzIiB0eXBlPSJ0bnM6RGF0YVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJWaWV3QXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQog +ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWlu +c05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0ZXMi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRl +VmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVyaWNB +dHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2Vu +ZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFsdWVz +IiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmljQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVzY3JpcHRp -b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVh -Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0 -eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzc01hc2siIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlw -ZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIgdHlw -ZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVh +PSJSZXF1ZXN0ZWROZXdOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmFt +ZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFz +cyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpF +eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRO +b2Rlc0l0ZW0iIHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVz +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 +dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9k +ZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rl +c1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3Vs +dCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZE5v +ZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jl +cXVlc3QiIHR5cGU9InRuczpBZGROb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2Fy +ZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs +YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpB +ZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRk +UmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVy +ZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFk +ZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Vs +dHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVt +IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5 +cGU9InRuczpMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZU5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxl +dGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVh Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0i -dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9 -InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5j +ZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVu +Y2VzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2Vz +SXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0 +ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNl +c1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBl +PSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu +YW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1 +bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1 +dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlv +biI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWaWV3SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZpZXdWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgdHlwZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVu -Y2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVh -dGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQi -IHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93 -c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlv -biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dzZSIg -dHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu -czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 -QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1 -ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Q -b2ludHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIg -dHlwZT0idG5zOkJyb3dzZU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJCcm93c2VOZXh0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2Ui -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdl -dE5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aEVs -ZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVs -ZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZS -ZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UmVsYXRpdmVQYXRoIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVs -YXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6 -QnJvd3NlUGF0aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0 -aCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0 -aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +IlZpZXdEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +RGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRp +b24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJv +d3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTm9kZUNsYXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkJyb3dzZU5hbWVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxh +eU5hbWVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9u +XzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlRhcmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRN +YXNrIiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3 +YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlw +ZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpM -aXN0T2ZCcm93c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND +b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dz +ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1 +bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0i +dG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4 +UmVmZXJlbmNlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QnJvd3NlUmVxdWVzdCIgdHlwZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9 +InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu +dWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3Nl +TmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNw +b25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpM +aXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5l +eHRSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZW1haW5pbmdQYXRoSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQi -IHR5cGU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dz -ZVBhdGhSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBh -dGhSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJy -b3dzZVBhdGhSZXN1bHQiIHR5cGU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93 -c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNsYXRl -QnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVl -c3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0idG5zOlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVz -VG9SZWdpc3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6 +UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxh +dGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIg +dHlwZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1l +bnQiIHR5cGU9InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBl +PSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0aW5nTm9kZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJv +d3NlUGF0aCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbWFpbmluZ1BhdGhJ +bmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQ +YXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dz +ZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJO -b2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNS -ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRz -IiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1 -YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5y -ZWdpc3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg -dHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVz -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ291bnRlciIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJpY1JhbmdlIiB0eXBlPSJ4 -czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 -aW9uVGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4 -czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVT -dHJpbmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIg -dHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -aGFubmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBv -aW50Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0 -aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpMaXN0T2ZC +cm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0eXBlPSJ0 +bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRw -b2ludENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxh -dGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlw -dGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRu -czpRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRp -b25Ob2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVRvUmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0i -dG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2Ny +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k +ZUlkc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRo +UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo +c1RvTm9kZUlkc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJ +ZHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiB0eXBl +PSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RP +Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v +ZGVzUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9u +c2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rl +ck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBl +PSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJp +bmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhB +cnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhCdWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIg +dHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9u +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENv +bmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +ZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlv +biIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJp +YnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6 +UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2Ny aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9k -ZVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -c2ltcGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikdy -ZWF0ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNz -VGhhbk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJJbkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5W -aWV3XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 -c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRu -czpGaWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRh -U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQi -IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpF -eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVy -eURhdGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNl -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRh -U2V0IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWRO -b2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRu -czpOb2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9m -Tm9kZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVy -T3BlcmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl -ck9wZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -Q29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVs -ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29u -dGVudEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZp -bHRlckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVu -dEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmls -dGVyT3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9 -InRuczpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50 -T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50 -T3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpG -aWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0 -cmlidXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmli -dXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9w -ZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRl -T3BlcmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRG -aWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxp -c3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 -ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxl -bWVudFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVu -dFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpM -aXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMi -IHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5n -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 -dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu +bWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9 +InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNj +cmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +Zk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9u +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l +PSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1Ro +YW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFs +XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC +ZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0 +XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNl +T3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9y +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5k +ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpR +dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5 +RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl +UmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2Ui +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD +b250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9 +InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVt +ZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVu +dEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu +dCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0 -bnM6UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFy -c2luZ1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0 +bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u +dGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4 T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdS -ZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0 -aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZp -bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0 -T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 -eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRG +aWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJh +bmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 +ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFs +T3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlk +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93 +c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli +dXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVB +dHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0 -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2Ui -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6 -TGlzdE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi -YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlO -ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80 -IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh -dGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpS -ZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFs -dWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRu -czpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0 +bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1 +bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50 +UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxl +bWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlw +ZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1 +bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVh +OlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh +dGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGlj +SW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0 +eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5z +Okxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMi +IHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6 +Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2Vz +VG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVl +cnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0 +cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4 -UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVk -TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0 -bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJl -YWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5 -cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1 -bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl -YWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlz -dG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0K +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVu +dEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVy +eUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIg +dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9 -InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFk -RXZlbnREZXRhaWxzMiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog -ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICAgICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRNb2RpZmllZCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlsczIiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzMiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i -U29ydE9yZGVyVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ18wIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEZXNjZW5kaW5nXzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N -CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb3J0T3JkZXJUeXBlIiB0 -eXBlPSJ0bnM6U29ydE9yZGVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU29y -dFJ1bGVFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTb3J0T3JkZXIiIHR5cGU9InRuczpTb3J0T3JkZXJUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmli -dXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb3J0UnVs -ZUVsZW1lbnQiIHR5cGU9InRuczpTb3J0UnVsZUVsZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNvcnRSdWxlRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU29ydFJ1bGVFbGVtZW50IiB0eXBlPSJ0bnM6U29ydFJ1bGVF -bGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTb3J0UnVsZUVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZTb3J0UnVs -ZUVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlJlYWRFdmVudERldGFpbHNTb3J0ZWQiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UmVhZEV2ZW50 -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTb3J0Q2xhdXNlIiB0eXBlPSJ0bnM6TGlzdE9mU29ydFJ1bGVFbGVtZW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlsc1NvcnRlZCIgdHlwZT0i -dG5zOlJlYWRFdmVudERldGFpbHNTb3J0ZWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz -UmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 -ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9InRuczpS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFk -UHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1l +bWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFT +ZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlw +ZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJU +aW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpy +ZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +c3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0 +dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1 +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0 +eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRS +ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3Bv +bnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0 +aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFs +dWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y +eVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0 +b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3Rv +cnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhp +c3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0 +b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRE +ZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1l IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpk -b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dy -ZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJh -dGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRQcm9j -ZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRUaW1lRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxp -c3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRUaW1lRGV0 -YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEFubm90YXRpb25EYXRhRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxp -c3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +ZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRFdmVudERldGFpbHMyIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlJlYWRFdmVudERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkRXZlbnREZXRhaWxzMiIgdHlwZT0idG5zOlJlYWRFdmVu +dERldGFpbHMyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTb3J0T3JkZXJUeXBlIj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQXNjZW5kaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRlc2NlbmRpbmdfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNvcnRPcmRlclR5cGUiIHR5cGU9InRuczpTb3J0T3Jk +ZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTb3J0UnVsZUVsZW1lbnQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvcnRPcmRlciIgdHlw +ZT0idG5zOlNvcnRPcmRlclR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkV2ZW50RmllbGQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNvcnRSdWxlRWxlbWVudCIgdHlwZT0i +dG5zOlNvcnRSdWxlRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +U29ydFJ1bGVFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTb3J0UnVsZUVsZW1lbnQiIHR5cGU9InRuczpTb3J0UnVsZUVsZW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlNvcnRSdWxlRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlNvcnRSdWxlRWxlbWVudCIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2 +ZW50RGV0YWlsc1NvcnRlZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvcnRDbGF1c2Ui +IHR5cGU9InRuczpMaXN0T2ZTb3J0UnVsZUVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWFkRXZlbnREZXRhaWxzU29ydGVkIiB0eXBlPSJ0bnM6UmVhZEV2ZW50RGV0 +YWlsc1NvcnRlZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJhd01vZGlmaWVk +RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNSZWFkTW9kaWZpZWQiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJldHVybkJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRSYXdNb2RpZmllZERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxz +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGlt +ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9 +InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 +QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlYWRQcm9jZXNzZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFByb2Nlc3NlZERldGFpbHMiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVXNlU2ltcGxlQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOlJlYWRBdFRpbWVEZXRhaWxzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxz +IiB0eXBlPSJ0bnM6UmVhZEFubm90YXRpb25EYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhp +c3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZv +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRp +b25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlv +bkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRpb25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0 +aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlm +aWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURh +dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg +ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0i +dG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3Rv +cnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeU1vZGlmaWVkRXZl +bnQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeUV2ZW50Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6 +TGlzdE9mTW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlNb2RpZmllZEV2ZW50IiB0eXBlPSJ0bnM6SGlzdG9yeU1vZGlmaWVkRXZlbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp +bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVh +ZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJl +YWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6 +SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVW +YWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlk +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpX +cml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1 +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0 +ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9u +c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InRuczpI +aXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSGlzdG9y +eVVwZGF0ZVR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iUmVwbGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJV +cGRhdGVfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVsZXRlXzQiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJSZW1vdmVfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 +L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIiB0 +eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVwZGF0ZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6 +UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiB0eXBlPSJ0bnM6VXBk +YXRlRGF0YURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVwZGF0ZVN0cnVj +dHVyZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVy +Zm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiB0eXBlPSJ0 +bnM6VXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlVwZGF0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnREYXRh +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6VXBkYXRlRXZl +bnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSYXdNb2RpZmll +ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1 +YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSXNEZWxldGVNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8 L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEFubm90 -YXRpb25EYXRhRGV0YWlscyIgdHlwZT0idG5zOlJlYWRBbm5vdGF0aW9uRGF0YURldGFpbHMiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh -dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw -ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 -InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp -Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp -ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi -IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlNb2RpZmllZEV2ZW50Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlFdmVudCI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25J -bmZvcyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5TW9kaWZpZWRFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlN -b2RpZmllZEV2ZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJl -cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpU -aW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6 -TGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSI+DQogICAg +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmF3 +TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRp +bWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIHR5cGU9InRuczpEZWxldGVBdFRpbWVEZXRhaWxz +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXZlbnRJZHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiIHR5cGU9InRuczpEZWxldGVFdmVudERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn +bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpI +aXN0b3J5VXBkYXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI +aXN0b3J5VXBkYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3Vs +dCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlV +cGRhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJl +cXVlc3QiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgdHlwZT0i +dG5zOkhpc3RvcnlVcGRhdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +Q2FsbE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik9iamVjdElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5wdXRBcmd1bWVudHMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpD +YWxsTWV0aG9kUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ2Fs +bE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3Qi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiB0eXBlPSJ1YTpM +aXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdXRwdXRBcmd1bWVudHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJl +c3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9k +UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2FsbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0 +aG9kc1RvQ2FsbCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FsbFJl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxSZXNwb25zZSI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXNw -b25zZSIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRu -czpXcml0ZVZhbHVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0ZVZh -bHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZVZh -bHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSIgdHlwZT0idG5z -Okxpc3RPZldyaXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2Rlc1RvV3JpdGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlUmVxdWVzdCIgdHlwZT0idG5zOldyaXRl -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1 -c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlUmVzcG9uc2UiIHR5cGU9 -InRuczpXcml0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRh -aWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkRlbGV0ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5 -cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iUmVwbGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpy -ZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJm -b3JtVXBkYXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVw -bGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRh -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVEYXRhRGV0YWls -cyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBk -YXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFj -ZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFs -dWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRh -RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2Vy -dFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZUV2ZW50RGV0YWlscyIgdHlw -ZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh -aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -dGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlm -aWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6RGVs -ZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlRXZl -bnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0 -bnM6RGVsZXRlRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0 -b3J5VXBkYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZT -dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0 +aG9kUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5m byIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVz -dWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhp -c3RvcnlVcGRhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVzcG9uc2UiIHR5 +cGU9InRuczpDYWxsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1vbml0 +b3JpbmdNb2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iU2FtcGxpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +UmVwb3J0aW5nXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3Jp +bmdNb2RlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlN0YXR1c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +dGF0dXNWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNWYWx1 +ZVRpbWVzdGFtcF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIiIHR5cGU9InRuczpEYXRh +Q2hhbmdlVHJpZ2dlciIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGVhZGJhbmRUeXBl +Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +YnNvbHV0ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50XzIiIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5cGU9InRuczpEZWFkYmFuZFR5cGUiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJNb25pdG9yaW5nRmlsdGVyIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZUZpbHRlciI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpN +b25pdG9yaW5nRmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyaWdnZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRiYW5kVHlwZSIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFDaGFuZ2VGaWx0ZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdlRmlsdGVyIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5n +RmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlbGVjdENsYXVzZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldoZXJlQ2xhdXNlIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNlcnZlckNhcGFi +aWxpdGllc0RlZmF1bHRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmVhdFVuY2VydGFpbkFzQmFkIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJjZW50RGF0YUJh +ZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQZXJjZW50RGF0YUdvb2QiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2xvcGVkRXh0cmFwb2xhdGlv +biIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZp +Z3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw +ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIHR5cGU9InRuczpBZ2dyZWdhdGVGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRv +cmluZ0ZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0 +ZXJSZXN1bHQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VS +ZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZURpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpFdmVudEZpbHRl +clJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVz +dWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFN0YXJ0VGltZSIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQWdncmVnYXRl +Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIHR5cGU9InRu +czpBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +bml0b3JpbmdQYXJhbWV0ZXJzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIg +dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY2FyZE9sZGVz +dCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdQYXJh +bWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtVG9Nb25pdG9yIiB0eXBlPSJ0bnM6UmVh +ZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJz +IiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6 +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0 +b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz +ZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJSZXN1 +bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVk +SXRlbUNyZWF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9u +aXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRu -czpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlz -dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5 +cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1zVG9DcmVhdGUi +IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 +cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0 +ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRl +bXNSZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRl +cnMiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1v +ZGlmeVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0 +ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 -cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGlj -SW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRl -UmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9k -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJp -YW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1 -ZXN0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVh +OlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +dmlzZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJS +ZXN1bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNh -bGxNZXRob2RSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVz -dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGlj -SW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0 -eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBl -PSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1ldGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVx -dWVzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIg -dHlwZT0idG5zOkNhbGxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxs -UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlz -dE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Q2FsbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJNb25pdG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5 -cGU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K -ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2Vy -IiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9IkRlYWRiYW5kVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iUGVyY2VudF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5n -ZVRyaWdnZXIiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWFkYmFuZFR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZp -bHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxl -QXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0i -dG5zOkV2ZW50RmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVD -b25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUGVyY2VudERhdGFCYWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNp -Z25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNs -b3BlZEV4dHJhcG9sYXRpb24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNv -bmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVn -YXRlRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVy -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJS -ZXN1bHQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBl -PSJ0bnM6RXZlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -dmlzZWRTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVy -UmVzdWx0IiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRl -cnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJGaWx0ZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRpc2NhcmRPbGRlc3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yaW5nUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRv -ciIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25p -dG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVt +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRv +cmVkSXRlbU1vZGlmeVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi +IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9y +ZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9u SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlw -ZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5 -cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt -Q3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +bWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1zVG9Nb2Rp +ZnkiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3Qi +IHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1v +ZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVk +SXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp +bmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz +MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25pdG9yaW5nTW9k +ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiB0 +eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlua3NU +b0FkZCIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlua3NUb1JlbW92ZSIgdHlwZT0idWE6TGlz +dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFRyaWdn +ZXJpbmdSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0VHJpZ2dlcmluZ1JlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFkZFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +ZGREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3Zl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiB0eXBlPSJ0bnM6U2V0VHJpZ2dl +cmluZ1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVNb25pdG9y +ZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9u +SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGlt -ZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJJdGVtc1RvQ3JlYXRlIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVl -c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk -SXRlbXNSZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl -ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNy -ZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVt -c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9k -aWZ5UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0 -ZW1Nb2RpZnlSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1N -b2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 -dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXpl -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIg -dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi -IHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3Vs -dCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6 -VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJdGVtc1RvTW9kaWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJl -cXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRv -cmVkSXRlbXNSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJ -dGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5n -TW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlz -dE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp -Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVSZXNwb25zZSIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1J -ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkxpbmtzVG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1v -dmUiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0 -T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z -dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlbW92ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1v -dmVEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlw -ZT0idG5zOlNldFRyaWdnZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1v -bml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw -b25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxp -c3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0 -b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZh -bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZl -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hp -bmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1 -YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1 -YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25z +ZSIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi +bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExp +ZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h +eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +aW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVh +dGVTdWJzY3JpcHRpb25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9u +c2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl +SGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpDcmVh +dGVTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9k +aWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz +Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1 +ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZl dGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNl -IiB0eXBlPSJ0bnM6Q3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50 -ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBB -bGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlv -cml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5 -U3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNl +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNl +IiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1 +YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0 +UHVibGlzaGluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNl Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZh -bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxp -c2hpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlz -aGluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJl -c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51 -bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlB1Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6 -TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRh -dGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24i -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0 -aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRI -YW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRu -czpNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0 -bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlm -aWNhdGlvbiIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50 -Tm90aWZpY2F0aW9uTGlzdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlw -ZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25M -aXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxk -TGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3Qi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRM -aXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0 -eXBlPSJ0bnM6TGlzdE9mRXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5 -cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp -c3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -SGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRM -aXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9u -RGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTdGF0dXMiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmlj -YXRpb24iIHR5cGU9InRuczpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tu -b3dsZWRnZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlw -dGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0 -aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQi -IHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1 -ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudHMiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRu -czpQdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJl -c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -cmVOb3RpZmljYXRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxp -c2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -dHJhbnNtaXRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlzaGluZ01v +ZGVSZXNwb25zZSIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi +bGlzaFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25EYXRhIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25P +YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9u +TWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO +b3RpZmljYXRpb25EYXRhIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1zIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZU5v +dGlmaWNhdGlvbiIgdHlwZT0idG5zOkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh +bHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1O +b3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3Jl +ZEl0ZW1Ob3RpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0 +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRXZl +bnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlm +aWNhdGlvbkxpc3QiIHR5cGU9InRuczpFdmVudE5vdGlmaWNhdGlvbkxpc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIg +dHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpF +dmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpMaXN0T2ZF +dmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIgdHlwZT0idWE6TGlzdE9mVmFy +aWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRG +aWVsZExpc3QiIHR5cGU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0 +eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1c0NoYW5n +ZU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1cyIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRpYWdub3N0aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgdHlwZT0idG5z +OlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj +a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3Jp +cHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1l +bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgdHlwZT0idG5zOkxpc3RP +ZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu +czpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgdHlwZT0idG5z +Okxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVxdWVzdCIgdHlwZT0idG5zOlB1Ymxpc2hSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBl PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90 -aWZpY2F0aW9uTWVzc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVu -Y2VOdW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0 -eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0 -bnM6TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0 -T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW5kSW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFu -c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJU -cmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRu -czpUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0i +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNl +cXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlw +ZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaFJlc3BvbnNlIiB0eXBlPSJ0bnM6UHVibGlzaFJlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0cmFuc21pdFNlcXVlbmNl +TnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcHVi +bGlzaFJlcXVlc3QiIHR5cGU9InRuczpSZXB1Ymxpc2hSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIHR5cGU9 +InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2Zl +clJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZUcmFuc2Zl +clJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbmRJ +bml0aWFsVmFsdWVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJh +bnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgdHlwZT0idG5zOlRyYW5zZmVyU3Vic2NyaXB0aW9u +c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0 +aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw +ZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVN1 +YnNjcmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVT +dWJzY3JpcHRpb25zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVTdWJzY3Jp +cHRpb25zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJ1aWxkSW5mbyI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWFudWZhY3R1cmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv +ZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQnVpbGROdW1iZXIiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkRGF0ZSIgdHlwZT0ieHM6 +ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZEluZm8iIHR5cGU9InRuczpCdWls +ZEluZm8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0Ij4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb2xk +XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ildhcm1fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlRyYW5zcGFyZW50XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdEFu +ZE1pcnJvcmVkXzUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCIgdHlwZT0idG5zOlJlZHVu +ZGFuY3lTdXBwb3J0IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZXJ2ZXJTdGF0ZSI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJ1bm5pbmdfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RmFpbGVkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vQ29uZmlndXJhdGlv +bl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdXNwZW5kZWRfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2h1dGRvd25fNCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVGVzdF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJD +b21tdW5pY2F0aW9uRmF1bHRfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5r +bm93bl83IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcklkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2aWNlTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdGUiIHR5cGU9InRuczpT +ZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBl +IiB0eXBlPSJ0bnM6UmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw +ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2lu +dFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kcG9pbnRVcmxMaXN0IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0 -bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJCdWlsZEluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNp -b24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWls -ZERhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZv -IiB0eXBlPSJ0bnM6QnVpbGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1 -bmRhbmN5U3VwcG9ydCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQ29sZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJt -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJIb3RBbmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQi -IHR5cGU9InRuczpSZWR1bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt -ZT0iU2VydmVyU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb0NvbmZpZ3VyYXRpb25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3Vz -cGVuZGVkXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQ29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlVua25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 -U2VydmVyU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZl -ckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXJ2ZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0 -YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRh -bnRTZXJ2ZXJEYXRhVHlwZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2Vy -dmVyRGF0YVR5cGUiIHR5cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -UmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRh -VHlwZSIgdHlwZT0idG5zOkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBl -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5 -cGU9InRuczpMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdv -cmtHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3 -b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlw +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9 +InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 +RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5ldHdvcmtHcm91cERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtQYXRocyIgdHlwZT0idG5zOkxpc3RPZkVu +ZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrR3Jv +dXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZXR3 +b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtHcm91cERhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVt +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 +b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNhbXBsaW5n +SW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 +aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlw ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3Jr -R3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +bmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyRGlhZ25v +c3RpY3NTdW1tYXJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclZpZXdDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTZXNzaW9uQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkU2Vzc2lv +bkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uVGltZW91 +dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkFib3J0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U3Vic2NyaXB0 +aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxp +c2hpbmdJbnRlcnZhbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5 -cGU9InRuczpTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5n -SW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERp -YWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2Vzc2lvblRpbWVvdXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VycmVudFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0 -ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFy -eURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJy -ZW50VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5m -byIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY29uZHNUaWxsU2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 -ZXJTdGF0dXNEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1 -YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRp -b24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91Ymxl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1l -c3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29u -dGFjdFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1v -bml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRvdGFsUmVxdWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVuYXV0aG9yaXplZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJE +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIHR5cGU9 +InRuczpTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRUaW1lIiB0eXBlPSJ4 +czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +dGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vjb25kc1RpbGxT +aHV0ZG93biIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNodXRkb3duUmVhc29uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl +IiB0eXBlPSJ0bnM6U2VydmVyU3RhdHVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Np +b25OYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv +aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFjdHVhbFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDb25uZWN0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1 +cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3Vu +dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkN1cnJlbnRQdWJsaXNoUmVxdWVzdHNJblF1ZXVlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxSZXF1 +ZXN0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5hdXRob3JpemVk +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJE YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNhbGxDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -cmVhdGVNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VD -b3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZp -Y2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVsZXRlTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJv -d3NlTmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUXVlcnlGaXJzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +bmFtZT0iV3JpdGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5VXBkYXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbENv +dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25p +dG9yaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldFRy +aWdnZXJpbmdDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVN +b25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNy +ZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlF1ZXJ5TmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lz -dGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lz -dGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUi -IHR5cGU9InRuczpTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFU -eXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np -b25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNz -RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNldFB1Ymxpc2hpbmdNb2RlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy +U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl +bGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZGROb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJl +ZmVyZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO +b2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VDb3Vu +dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0Q291bnQiIHR5 +cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05v +ZGVJZHNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0 +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0Q291bnQi +IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Np +b25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpT +ZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2Vy -SWRIaXN0b3J5IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlz -bSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9y -dFByb3RvY29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNz -YWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp -Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpM -aXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3Rh -bENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl -IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3Rh -dHVzUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1 -bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jl -c3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBl -PSJ0bnM6TGlzdE9mU3RhdHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 -InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlm -ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -bGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaXNhYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 -Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0 +SWRPZlNlc3Npb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZEhpc3RvcnkiIHR5cGU9 +InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFuaXNtIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJFbmNvZGluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvdG9jb2wiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UG9saWN5 +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 +QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25TZWN1 +cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uU2VjdXJpdHlEaWFnbm9z +dGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZXNzaW9u +U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlc3Npb25TZWN1 +cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF +cnJvckNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1 +c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 +aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6 +U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZTdGF0 +dXNSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50 +ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTW9kaWZ5Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcHVibGlzaE1lc3NhZ2VSZXF1 +ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJl +cXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVycmVkVG9BbHRDbGllbnRDb3VudCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNmZXJSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz -aFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFdmVudE5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3Nh -Z2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0 -ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv -cmluZ1F1ZXVlT3ZlcmZsb3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkV2ZW50UXVldWVPdmVyZmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpT -dWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNj -cmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2si -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJOb2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9kZURlbGV0ZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJl -bmNlQWRkZWRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVs -ZXRlZF84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRf -MTYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9k -ZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlw -ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1v -ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5 -cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5n -ZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpT -ZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURh -dGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFu -dGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQi -IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0i -dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJF -VUluZm9ybWF0aW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlw -ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAv +bmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0 +aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGF0ZVB1Ymxpc2hS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 +TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVuYWNrbm93bGVkZ2VkTWVzc2FnZUNvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlzY2FyZGVkTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxv +d0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRRdWV1ZU92ZXJm +bG93Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkRpYWdu +b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNj +cmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRu +czpTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25E +aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxl +VHlwZSAgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayI+DQogICAgPHhzOnJlc3Ry +aWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v +ZGVBZGRlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlRGVsZXRlZF8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VBZGRlZF80IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VEZWxldGVkXzgiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlQ2hhbmdlZF8xNiIgLz4NCiAgICA8L3hz +OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v +ZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVy +ZVZlcmJNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RlbENoYW5nZVN0cnVj +dHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWRUeXBlIiB0eXBlPSJ1YTpOb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJWZXJiIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kZWxDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZW1hbnRp +Y0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWRUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vt +YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hhbmdlU3Ry +dWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlbWFu +dGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRu +czpTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZW1hbnRpY0NoYW5n +ZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1 +cmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUmFuZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkxvdyIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJIaWdoIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSYW5nZSIgdHlwZT0idG5zOlJhbmdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZSYW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmFuZ2UiIHR5cGU9InRuczpMaXN0T2ZS +YW5nZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5h +bWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxp +emVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkVVSW5mb3JtYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFVUluZm9ybWF0aW9uIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBeGlzU2Nh +bGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxpbmVhcl8wIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJMb2dfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG5f +MiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51 +bWVyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkF4aXNTY2FsZUVu +dW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +eGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkF4aXNTY2FsZUVu +dW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXhpc1NjYWxlRW51bWVyYXRpb24iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbXBsZXhO +dW1iZXJUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFsIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNv +bXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6Q29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbXBsZXhOdW1iZXJUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0i +dG5zOkNvbXBsZXhOdW1iZXJUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkNvbXBsZXhOdW1iZXJUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6 ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5h cnkiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhO dW1iZXJUeXBlIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5m -b3JtYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFVVJhbmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9j -YWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkF4aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlv -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0 -eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZUNsaWVudE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhv -ZElucHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0 -cHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIHR5cGU9InRuczpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiB0eXBlPSJ1 -YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZvY2F0aW9u -Q3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGwi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFz -dE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l -dGhvZElucHV0VmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1 -dFZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikxhc3RNZXRob2RSZXR1cm5TdGF0dXMiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSIgdHlwZT0idG5zOlByb2dyYW1E -aWFnbm9zdGljMkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5vdGF0 -aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlv -biIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4 -Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94 -czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3Jt -YXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2NoZW1h -Pg== +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVy +VHlwZSIgdHlwZT0idG5zOkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEb3VibGVD +b21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBeGlzSW5mb3JtYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5n +ZSIgdHlwZT0idG5zOlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlz +U2NhbGVUeXBlIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91 +YmxlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlv +biIgdHlwZT0idG5zOkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mQXhpc0luZm9ybWF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBeGlzSW5mb3JtYXRpb24iIHR5cGU9InRuczpBeGlzSW5mb3JtYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkxpc3RPZkF4aXNJbmZvcm1hdGlv +biIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iWFZUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY +IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlZhbHVlIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIg +dHlwZT0idG5zOlhWVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mWFZU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYVlR5cGUi +IHR5cGU9InRuczpYVlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlhWVHlwZSIgdHlwZT0idG5zOkxpc3RPZlhWVHlw +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVh +dGVDbGllbnROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1 +dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFy +Z3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBl +IiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0 +aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0 +TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRo +b2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJ +bnB1dFZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1 +ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0 +TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiIHR5cGU9InRuczpQcm9ncmFtRGlhZ25v +c3RpYzJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5ub3RhdGlvbiI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFubm90YXRpb25UaW1l +IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFubm90YXRpb24iIHR5 +cGU9InRuczpBbm5vdGF0aW9uIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFeGNlcHRp +b25EZXZpYXRpb25Gb3JtYXQiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBYnNvbHV0ZVZhbHVlXzAiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRPZlZhbHVlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRPZlJhbmdlXzIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlBlcmNlbnRPZkVVUmFuZ2VfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVW5rbm93bl80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiB0 +eXBlPSJ0bnM6RXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiAvPg0KDQo8L3hzOnNjaGVtYT4= @@ -74200,6 +78095,46 @@ Pg== //xs:element[@name='TrustListDataType'] + + BaseConfigurationDataType + + i=69 + i=8252 + + + //xs:element[@name='BaseConfigurationDataType'] + + + + BaseConfigurationRecordDataType + + i=69 + i=8252 + + + //xs:element[@name='BaseConfigurationRecordDataType'] + + + + CertificateGroupDataType + + i=69 + i=8252 + + + //xs:element[@name='CertificateGroupDataType'] + + + + ConfigurationUpdateTargetType + + i=69 + i=8252 + + + //xs:element[@name='ConfigurationUpdateTargetType'] + + TransactionErrorType @@ -74210,6 +78145,76 @@ Pg== //xs:element[@name='TransactionErrorType'] + + ApplicationConfigurationDataType + + i=69 + i=8252 + + + //xs:element[@name='ApplicationConfigurationDataType'] + + + + ApplicationIdentityDataType + + i=69 + i=8252 + + + //xs:element[@name='ApplicationIdentityDataType'] + + + + EndpointDataType + + i=69 + i=8252 + + + //xs:element[@name='EndpointDataType'] + + + + ServerEndpointDataType + + i=69 + i=8252 + + + //xs:element[@name='ServerEndpointDataType'] + + + + SecuritySettingsDataType + + i=69 + i=8252 + + + //xs:element[@name='SecuritySettingsDataType'] + + + + UserTokenSettingsDataType + + i=69 + i=8252 + + + //xs:element[@name='UserTokenSettingsDataType'] + + + + AuthorizationServiceConfigurationDataType + + i=69 + i=8252 + + + //xs:element[@name='AuthorizationServiceConfigurationDataType'] + + DataTypeSchemaHeader @@ -75010,6 +79015,58 @@ Pg== //xs:element[@name='ReferenceListEntryDataType'] + + LogRecord + LogObject BaseEvent + https://reference.opcfoundation.org/v105/Core/docs/Part26/6.3 + + i=69 + i=8252 + + + //xs:element[@name='LogRecord'] + + + + LogRecordsDataType + + i=69 + i=8252 + + + //xs:element[@name='LogRecordsDataType'] + + + + SpanContextDataType + + i=69 + i=8252 + + + //xs:element[@name='SpanContextDataType'] + + + + TraceContextDataType + + i=69 + i=8252 + + + //xs:element[@name='TraceContextDataType'] + + + + NameValuePair + + i=69 + i=8252 + + + //xs:element[@name='NameValuePair'] + + RolePermissionType @@ -75827,6 +79884,34 @@ Pg== i=76 + + Default JSON + + i=15434 + i=76 + + + + Default JSON + + i=15435 + i=76 + + + + Default JSON + + i=15436 + i=76 + + + + Default JSON + + i=15538 + i=76 + + Default JSON @@ -75834,6 +79919,55 @@ Pg== i=76 + + Default JSON + + i=15549 + i=76 + + + + Default JSON + + i=15556 + i=76 + + + + Default JSON + + i=15557 + i=76 + + + + Default JSON + + i=15558 + i=76 + + + + Default JSON + + i=15559 + i=76 + + + + Default JSON + + i=15560 + i=76 + + + + Default JSON + + i=19445 + i=76 + + Default JSON @@ -76394,6 +80528,41 @@ Pg== i=76 + + Default JSON + + i=19361 + i=76 + + + + Default JSON + + i=19745 + i=76 + + + + Default JSON + + i=19746 + i=76 + + + + Default JSON + + i=19747 + i=76 + + + + Default JSON + + i=19748 + i=76 + + Default JSON diff --git a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.bsd b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.bsd index 1deb3cc595..56490d189a 100644 --- a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.bsd +++ b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.bsd @@ -432,12 +432,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1453,6 +1581,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.xsd b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.xsd index c249d50d0f..5f819a66f4 100644 --- a/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.xsd +++ b/Stack/Opc.Ua.Core/Schema/Opc.Ua.Types.xsd @@ -37,7 +37,7 @@ > - + @@ -980,6 +980,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -996,6 +1079,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3078,6 +3310,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6260,6 +6589,13 @@ + + + + + + + @@ -6270,6 +6606,13 @@ + + + + + + + @@ -6279,6 +6622,13 @@ + + + + + + + @@ -6287,6 +6637,13 @@ + + + + + + + @@ -6295,6 +6652,13 @@ + + + + + + + @@ -6306,6 +6670,13 @@ + + + + + + + @@ -6314,6 +6685,13 @@ + + + + + + + diff --git a/Stack/Opc.Ua.Core/Security/Certificates/DirectoryCertificateStore.cs b/Stack/Opc.Ua.Core/Security/Certificates/DirectoryCertificateStore.cs index 9b9d3422b7..8464befed3 100644 --- a/Stack/Opc.Ua.Core/Security/Certificates/DirectoryCertificateStore.cs +++ b/Stack/Opc.Ua.Core/Security/Certificates/DirectoryCertificateStore.cs @@ -11,6 +11,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ using System; +using System.CodeDom; using System.Collections.Generic; using System.IO; using System.Linq; @@ -18,8 +19,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; -using Opc.Ua.Security.Certificates; using Opc.Ua.Redaction; +using Opc.Ua.Security.Certificates; namespace Opc.Ua { @@ -37,6 +38,7 @@ public class DirectoryCertificateStore : ICertificateStore private const string kPemExtension = ".pem"; private const string kPfxExtension = ".pfx"; private const string kCertSearchString = "*.der"; + private const string kPemCertSearchString = "*.pem"; #region Constructors /// @@ -312,7 +314,8 @@ public async Task Delete(string thumbprint) { if (entry != null) { - if (entry.PrivateKeyFile != null && entry.PrivateKeyFile.Exists) + // private key for PEM certificates is handled separately + if (entry.PrivateKeyFile != null && entry.PrivateKeyFile.Exists && entry.CertificateFile?.Extension != kPemExtension) { entry.PrivateKeyFile.Delete(); found = true; @@ -320,8 +323,44 @@ public async Task Delete(string thumbprint) if (entry.CertificateFile != null && entry.CertificateFile.Exists) { - entry.CertificateFile.Delete(); - found = true; + // if the certificate is a PEM file, remove the public key from it + if (entry.CertificateFile.Extension.Equals(kPemExtension, StringComparison.OrdinalIgnoreCase)) + { + if (PEMWriter.TryRemovePublicKeyFromPEM(entry.Certificate.Thumbprint, File.ReadAllBytes(entry.CertificateFile.FullName), out byte[] newContent)) + { + var writer = new BinaryWriter(entry.CertificateFile.Open(FileMode.OpenOrCreate, FileAccess.Write)); + try + { + writer.Write(newContent); + } + finally + { + writer.Flush(); + writer.Dispose(); + } + if (PEMReader.ImportPublicKeysFromPEM(newContent).Count == 0) + { + entry.CertificateFile.Delete(); + if (entry.PrivateKeyFile != null && entry.PrivateKeyFile.Exists) + { + entry.PrivateKeyFile.Delete(); + } + } + found = true; + } + // if no valid PEM content is found, delete the certificate file + else + { + entry.CertificateFile.Delete(); + found = true; + } + } + // no PEM file, just delete the certificate file + else + { + entry.CertificateFile.Delete(); + found = true; + } } } retry = 0; @@ -446,130 +485,161 @@ public async Task LoadPrivateKey(string thumbprint, string sub return null; } - // on some platforms, specifically in virtualized environments, - // reloading a previously created and saved private key may fail on the first attempt. const int retryDelay = 100; int retryCounter = 3; while (retryCounter-- > 0) { bool certificateFound = false; Exception importException = null; - foreach (FileInfo file in m_certificateSubdir.GetFiles("*" + kCertExtension)) + IEnumerable files = m_certificateSubdir.GetFiles(kCertSearchString) + .Concat(m_certificateSubdir.GetFiles(kPemCertSearchString)); + + foreach (FileInfo file in files) { try { - var certificate = X509CertificateLoader.LoadCertificateFromFile(file.FullName); + var certificatesInFile = new X509Certificate2Collection(); + if (file.Extension.Equals(kPemExtension, StringComparison.OrdinalIgnoreCase)) + { + certificatesInFile = PEMReader.ImportPublicKeysFromPEM(File.ReadAllBytes(file.FullName)); + } + else + { + certificatesInFile.Add(X509CertificateLoader.LoadCertificateFromFile(file.FullName)); + } - if (!String.IsNullOrEmpty(thumbprint)) + foreach (var cert in certificatesInFile) { - if (!string.Equals(certificate.Thumbprint, thumbprint, StringComparison.OrdinalIgnoreCase)) + var certificate = cert; + + if (!string.IsNullOrEmpty(thumbprint) && + !string.Equals(certificate.Thumbprint, thumbprint, StringComparison.OrdinalIgnoreCase)) { continue; } - } - if (!String.IsNullOrEmpty(subjectName)) - { - if (!X509Utils.CompareDistinguishedName(subjectName, certificate.Subject)) + if (!string.IsNullOrEmpty(subjectName)) { - if (subjectName.Contains('=')) + if (!X509Utils.CompareDistinguishedName(subjectName, certificate.Subject)) { - continue; + if (subjectName.Contains('=')) + { + continue; + } + + if (!X509Utils.ParseDistinguishedName(certificate.Subject).Any(s => s.Equals("CN=" + subjectName, StringComparison.Ordinal))) + { + continue; + } } + } - if (!X509Utils.ParseDistinguishedName(certificate.Subject).Any(s => s.Equals("CN=" + subjectName, StringComparison.Ordinal))) + if (!string.IsNullOrEmpty(applicationUri)) + { + if (!string.Equals(X509Utils.GetApplicationUriFromCertificate(certificate), applicationUri, StringComparison.OrdinalIgnoreCase)) { continue; } } - } - if (!string.IsNullOrEmpty(applicationUri)) - { - if (!string.Equals(X509Utils.GetApplicationUriFromCertificate(certificate), applicationUri, StringComparison.OrdinalIgnoreCase)) + if (!CertificateIdentifier.ValidateCertificateType(certificate, certificateType)) { continue; } - } - - if (!CertificateIdentifier.ValidateCertificateType(certificate, certificateType)) - { - continue; - } - string fileRoot = file.Name.Substring(0, file.Name.Length - file.Extension.Length); + string fileRoot = file.Name.Substring(0, file.Name.Length - file.Extension.Length); - StringBuilder filePath = new StringBuilder() - .Append(m_privateKeySubdir.FullName) - .Append(Path.DirectorySeparatorChar) - .Append(fileRoot); + StringBuilder filePath = new StringBuilder() + .Append(m_privateKeySubdir.FullName) + .Append(Path.DirectorySeparatorChar) + .Append(fileRoot); - // By default keys are not persisted - X509KeyStorageFlags defaultStorageSet = X509KeyStorageFlags.Exportable; + // By default keys are not persisted + X509KeyStorageFlags defaultStorageSet = X509KeyStorageFlags.Exportable; #if NETSTANDARD2_1_OR_GREATER || NET472_OR_GREATER || NET5_0_OR_GREATER - if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) - { - defaultStorageSet |= X509KeyStorageFlags.EphemeralKeySet; - } + if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + defaultStorageSet |= X509KeyStorageFlags.EphemeralKeySet; + } #endif - X509KeyStorageFlags[] storageFlags = { - defaultStorageSet | X509KeyStorageFlags.MachineKeySet, - defaultStorageSet | X509KeyStorageFlags.UserKeySet - }; + X509KeyStorageFlags[] storageFlags = { + defaultStorageSet | X509KeyStorageFlags.MachineKeySet, + defaultStorageSet | X509KeyStorageFlags.UserKeySet + }; - var privateKeyFilePfx = new FileInfo(filePath + kPfxExtension); - var privateKeyFilePem = new FileInfo(filePath + kPemExtension); - password = password ?? String.Empty; - if (privateKeyFilePfx.Exists) - { - certificateFound = true; - foreach (X509KeyStorageFlags flag in storageFlags) + var privateKeyFilePfx = new FileInfo(filePath + kPfxExtension); + var privateKeyFilePem = new FileInfo(filePath + kPemExtension); + password = password ?? string.Empty; + if (privateKeyFilePfx.Exists) + { + certificateFound = true; + foreach (X509KeyStorageFlags flag in storageFlags) + { + try + { + certificate = X509CertificateLoader.LoadPkcs12FromFile( + privateKeyFilePfx.FullName, + password, + flag); + if (X509Utils.VerifyKeyPair(certificate, certificate, true)) + { + Utils.LogInfo(Utils.TraceMasks.Security, "Imported the PFX private key for [{0}].", certificate.Thumbprint); + return certificate; + } + } + catch (Exception ex) + { + importException = ex; + certificate?.Dispose(); + } + } + } + // if PFX file doesn't exist, check for PEM file. + else if (privateKeyFilePem.Exists) { + certificateFound = true; try { - certificate = X509CertificateLoader.LoadPkcs12FromFile( - privateKeyFilePfx.FullName, - password, - flag); + byte[] pemDataBlob = File.ReadAllBytes(privateKeyFilePem.FullName); + certificate = CertificateFactory.CreateCertificateWithPEMPrivateKey(certificate, pemDataBlob, password); if (X509Utils.VerifyKeyPair(certificate, certificate, true)) { - Utils.LogInfo(Utils.TraceMasks.Security, "Imported the PFX private key for [{0}].", certificate.Thumbprint); + Utils.LogInfo(Utils.TraceMasks.Security, "Imported the PEM private key for [{0}].", certificate.Thumbprint); return certificate; } } - catch (Exception ex) + catch (Exception exception) { - importException = ex; certificate?.Dispose(); + importException = exception; } } - } - // if PFX file doesn't exist, check for PEM file. - else if (privateKeyFilePem.Exists) - { - certificateFound = true; - try + else if (file.Extension.Equals(kPemExtension, StringComparison.OrdinalIgnoreCase) && PEMReader.ContainsPrivateKey(File.ReadAllBytes(file.FullName))) { - byte[] pemDataBlob = File.ReadAllBytes(privateKeyFilePem.FullName); - certificate = CertificateFactory.CreateCertificateWithPEMPrivateKey(certificate, pemDataBlob, password); - if (X509Utils.VerifyKeyPair(certificate, certificate, true)) + certificateFound = true; + try + { + byte[] pemDataBlob = File.ReadAllBytes(file.FullName); + certificate = CertificateFactory.CreateCertificateWithPEMPrivateKey(certificate, pemDataBlob, password); + if (X509Utils.VerifyKeyPair(certificate, certificate, true)) + { + Utils.LogInfo(Utils.TraceMasks.Security, "Imported the PEM private key for [{0}].", certificate.Thumbprint); + return certificate; + } + } + catch (Exception exception) { - Utils.LogInfo(Utils.TraceMasks.Security, "Imported the PEM private key for [{0}].", certificate.Thumbprint); - return certificate; + certificate?.Dispose(); + importException = exception; } } - catch (Exception exception) + else { - certificate?.Dispose(); - importException = exception; + Utils.LogError(Utils.TraceMasks.Security, "A private key for the certificate with thumbprint [{0}] does not exist.", certificate.Thumbprint); + continue; } } - else - { - Utils.LogError(Utils.TraceMasks.Security, "A private key for the certificate with thumbprint [{0}] does not exist.", certificate.Thumbprint); - continue; - } } catch (Exception e) { @@ -588,7 +658,7 @@ public async Task LoadPrivateKey(string thumbprint, string sub } else { - if (!String.IsNullOrEmpty(thumbprint)) + if (!string.IsNullOrEmpty(thumbprint)) { Utils.LogError(Utils.TraceMasks.Security, "A Private key for the certificate with thumbpint {0} was not found.", thumbprint); } @@ -841,52 +911,68 @@ private IDictionary Load(string thumbprint) m_lastDirectoryCheck = now; bool incompleteSearch = false; - // check for public keys. - foreach (FileInfo file in m_certificateSubdir.GetFiles(kCertSearchString)) + IEnumerable files = m_certificateSubdir.GetFiles(kCertSearchString) + .Concat(m_certificateSubdir.GetFiles(kPemCertSearchString)); + + foreach (FileInfo file in files) { try { - var entry = new Entry { - Certificate = X509CertificateLoader.LoadCertificateFromFile(file.FullName), - CertificateFile = file, - PrivateKeyFile = null, - CertificateWithPrivateKey = null, - LastWriteTimeUtc = file.LastWriteTimeUtc - }; - - if (!NoPrivateKeys) + var certificatesInFile = new X509Certificate2Collection(); + if (file.Extension.Equals(kPemExtension, StringComparison.OrdinalIgnoreCase)) { - string fileRoot = file.Name.Substring(0, entry.CertificateFile.Name.Length - entry.CertificateFile.Extension.Length); + certificatesInFile = PEMReader.ImportPublicKeysFromPEM(File.ReadAllBytes(file.FullName)); + } + else + { + certificatesInFile.Add(X509CertificateLoader.LoadCertificateFromFile(file.FullName)); + } - var filePath = new StringBuilder() - .Append(m_privateKeySubdir.FullName) - .Append(Path.DirectorySeparatorChar) - .Append(fileRoot); + foreach (var certificate in certificatesInFile) + { + var entry = new Entry { + Certificate = certificate, + CertificateFile = file, + PrivateKeyFile = null, + CertificateWithPrivateKey = null, + LastWriteTimeUtc = file.LastWriteTimeUtc + }; + + if (!NoPrivateKeys) + { + string fileRoot = file.Name.Substring(0, entry.CertificateFile.Name.Length - entry.CertificateFile.Extension.Length); - // check for PFX file. - entry.PrivateKeyFile = new FileInfo(filePath.ToString() + kPfxExtension); + var filePath = new StringBuilder() + .Append(m_privateKeySubdir.FullName) + .Append(Path.DirectorySeparatorChar) + .Append(fileRoot); - // note: only obtain the filenames for delete, loading the private keys - // without authorization causes false negatives (LogErrors) - if (!entry.PrivateKeyFile.Exists) - { - // check for PEM file. - entry.PrivateKeyFile = new FileInfo(filePath.ToString() + kPemExtension); + // check for PFX file. + entry.PrivateKeyFile = new FileInfo(filePath.ToString() + kPfxExtension); + // note: only obtain the filenames for delete, loading the private keys + // without authorization causes false negatives (LogErrors) if (!entry.PrivateKeyFile.Exists) { - entry.PrivateKeyFile = null; + // check for PEM file. + entry.PrivateKeyFile = new FileInfo(filePath.ToString() + kPemExtension); + + if (!entry.PrivateKeyFile.Exists) + { + entry.PrivateKeyFile = null; + } } } - } - m_certificates[entry.Certificate.Thumbprint] = entry; + m_certificates[entry.Certificate.Thumbprint] = entry; + + if (!String.IsNullOrEmpty(thumbprint) && + thumbprint.Equals(entry.Certificate.Thumbprint, StringComparison.OrdinalIgnoreCase)) + { + incompleteSearch = true; + break; + } - if (!String.IsNullOrEmpty(thumbprint) && - thumbprint.Equals(entry.Certificate.Thumbprint, StringComparison.OrdinalIgnoreCase)) - { - incompleteSearch = true; - break; } } catch (Exception e) diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Classes.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Classes.cs index 6783fc13a6..11cf546dee 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Classes.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Classes.cs @@ -31,7 +31,10 @@ using System.Collections.Generic; using System.Text; using System.Xml; +using System.Linq; using System.Runtime.Serialization; +using System.Threading.Tasks; +using System.Threading; namespace Opc.Ua { @@ -29371,6 +29374,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetMonitoredItemsMethodStateMethodCallHandler OnCall; + + /// + public GetMonitoredItemsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -29384,6 +29390,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -29412,6 +29423,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetMonitoredItemsMethodStateResult _result = null; + + uint subscriptionId = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscriptionId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ServerHandles; + _outputArguments[1] = _result.ClientHandles; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -29427,6 +29478,28 @@ public delegate ServiceResult GetMonitoredItemsMethodStateMethodCallHandler( uint subscriptionId, ref uint[] serverHandles, ref uint[] clientHandles); + + /// + /// + public partial class GetMonitoredItemsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public uint[] ServerHandles { get; set; } + /// + public uint[] ClientHandles { get; set; } + } + + + /// + /// + public delegate ValueTask GetMonitoredItemsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint subscriptionId, + CancellationToken cancellationToken); #endif #endregion @@ -29476,6 +29549,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ResendDataMethodStateMethodCallHandler OnCall; + + /// + public ResendDataMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -29489,6 +29565,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -29509,6 +29590,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ResendDataMethodStateResult _result = null; + + uint subscriptionId = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscriptionId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -29522,6 +29640,24 @@ public delegate ServiceResult ResendDataMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, uint subscriptionId); + + /// + /// + public partial class ResendDataMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ResendDataMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint subscriptionId, + CancellationToken cancellationToken); #endif #endregion @@ -29574,6 +29710,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public SetSubscriptionDurableMethodStateMethodCallHandler OnCall; + + /// + public SetSubscriptionDurableMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -29587,6 +29726,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -29614,6 +29758,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + SetSubscriptionDurableMethodStateResult _result = null; + + uint subscriptionId = (uint)_inputArguments[0]; + uint lifetimeInHours = (uint)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscriptionId, + lifetimeInHours, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RevisedLifetimeInHours; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -29629,6 +29814,27 @@ public delegate ServiceResult SetSubscriptionDurableMethodStateMethodCallHandler uint subscriptionId, uint lifetimeInHours, ref uint revisedLifetimeInHours); + + /// + /// + public partial class SetSubscriptionDurableMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public uint RevisedLifetimeInHours { get; set; } + } + + + /// + /// + public delegate ValueTask SetSubscriptionDurableMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint subscriptionId, + uint lifetimeInHours, + CancellationToken cancellationToken); #endif #endregion @@ -29681,6 +29887,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RequestServerStateChangeMethodStateMethodCallHandler OnCall; + + /// + public RequestServerStateChangeMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -29694,6 +29903,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -29722,6 +29936,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RequestServerStateChangeMethodStateResult _result = null; + + ServerState state = (ServerState)_inputArguments[0]; + DateTime estimatedReturnTime = (DateTime)_inputArguments[1]; + uint secondsTillShutdown = (uint)_inputArguments[2]; + LocalizedText reason = (LocalizedText)_inputArguments[3]; + bool restart = (bool)_inputArguments[4]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + state, + estimatedReturnTime, + secondsTillShutdown, + reason, + restart, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -29739,6 +29998,28 @@ public delegate ServiceResult RequestServerStateChangeMethodStateMethodCallHandl uint secondsTillShutdown, LocalizedText reason, bool restart); + + /// + /// + public partial class RequestServerStateChangeMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RequestServerStateChangeMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ServerState state, + DateTime estimatedReturnTime, + uint secondsTillShutdown, + LocalizedText reason, + bool restart, + CancellationToken cancellationToken); #endif #endregion @@ -36156,6 +36437,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public OpenMethodStateMethodCallHandler OnCall; + + /// + public OpenMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36169,6 +36453,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36194,6 +36483,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + OpenMethodStateResult _result = null; + + byte mode = (byte)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + mode, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FileHandle; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36208,6 +36536,26 @@ public delegate ServiceResult OpenMethodStateMethodCallHandler( NodeId _objectId, byte mode, ref uint fileHandle); + + /// + /// + public partial class OpenMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public uint FileHandle { get; set; } + } + + + /// + /// + public delegate ValueTask OpenMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + byte mode, + CancellationToken cancellationToken); #endif #endregion @@ -36257,6 +36605,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CloseMethodStateMethodCallHandler OnCall; + + /// + public CloseMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36270,6 +36621,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36290,6 +36646,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CloseMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36303,6 +36696,24 @@ public delegate ServiceResult CloseMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, uint fileHandle); + + /// + /// + public partial class CloseMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask CloseMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + CancellationToken cancellationToken); #endif #endregion @@ -36354,6 +36765,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ReadMethodStateMethodCallHandler OnCall; + + /// + public ReadMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36367,6 +36781,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36394,6 +36813,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ReadMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + int length = (int)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + length, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Data; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36409,6 +36869,27 @@ public delegate ServiceResult ReadMethodStateMethodCallHandler( uint fileHandle, int length, ref byte[] data); + + /// + /// + public partial class ReadMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] Data { get; set; } + } + + + /// + /// + public delegate ValueTask ReadMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + int length, + CancellationToken cancellationToken); #endif #endregion @@ -36459,6 +36940,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public WriteMethodStateMethodCallHandler OnCall; + + /// + public WriteMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36472,6 +36956,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36494,6 +36983,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + WriteMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + byte[] data = (byte[])_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + data, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36508,6 +37036,25 @@ public delegate ServiceResult WriteMethodStateMethodCallHandler( NodeId _objectId, uint fileHandle, byte[] data); + + /// + /// + public partial class WriteMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask WriteMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + byte[] data, + CancellationToken cancellationToken); #endif #endregion @@ -36559,6 +37106,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetPositionMethodStateMethodCallHandler OnCall; + + /// + public GetPositionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36572,6 +37122,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36597,6 +37152,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetPositionMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Position; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36611,6 +37205,26 @@ public delegate ServiceResult GetPositionMethodStateMethodCallHandler( NodeId _objectId, uint fileHandle, ref ulong position); + + /// + /// + public partial class GetPositionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ulong Position { get; set; } + } + + + /// + /// + public delegate ValueTask GetPositionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + CancellationToken cancellationToken); #endif #endregion @@ -36661,6 +37275,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public SetPositionMethodStateMethodCallHandler OnCall; + + /// + public SetPositionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -36674,6 +37291,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -36696,6 +37318,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + SetPositionMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + ulong position = (ulong)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + position, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -36710,6 +37371,25 @@ public delegate ServiceResult SetPositionMethodStateMethodCallHandler( NodeId _objectId, uint fileHandle, ulong position); + + /// + /// + public partial class SetPositionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask SetPositionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + ulong position, + CancellationToken cancellationToken); #endif #endregion @@ -37056,6 +37736,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CreateDirectoryMethodStateMethodCallHandler OnCall; + + /// + public CreateDirectoryMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37069,6 +37752,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37094,6 +37782,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CreateDirectoryMethodStateResult _result = null; + + string directoryName = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + directoryName, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DirectoryNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37108,6 +37835,26 @@ public delegate ServiceResult CreateDirectoryMethodStateMethodCallHandler( NodeId _objectId, string directoryName, ref NodeId directoryNodeId); + + /// + /// + public partial class CreateDirectoryMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DirectoryNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask CreateDirectoryMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string directoryName, + CancellationToken cancellationToken); #endif #endregion @@ -37160,6 +37907,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CreateFileMethodStateMethodCallHandler OnCall; + + /// + public CreateFileMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37173,6 +37923,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37203,6 +37958,48 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CreateFileMethodStateResult _result = null; + + string fileName = (string)_inputArguments[0]; + bool requestFileOpen = (bool)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileName, + requestFileOpen, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FileNodeId; + _outputArguments[1] = _result.FileHandle; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37219,6 +38016,29 @@ public delegate ServiceResult CreateFileMethodStateMethodCallHandler( bool requestFileOpen, ref NodeId fileNodeId, ref uint fileHandle); + + /// + /// + public partial class CreateFileMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId FileNodeId { get; set; } + /// + public uint FileHandle { get; set; } + } + + + /// + /// + public delegate ValueTask CreateFileMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string fileName, + bool requestFileOpen, + CancellationToken cancellationToken); #endif #endregion @@ -37268,6 +38088,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DeleteFileMethodStateMethodCallHandler OnCall; + + /// + public DeleteFileMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37281,6 +38104,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37301,6 +38129,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DeleteFileMethodStateResult _result = null; + + NodeId objectToDelete = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + objectToDelete, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37314,6 +38179,24 @@ public delegate ServiceResult DeleteFileMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId objectToDelete); + + /// + /// + public partial class DeleteFileMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask DeleteFileMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId objectToDelete, + CancellationToken cancellationToken); #endif #endregion @@ -37367,6 +38250,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public MoveOrCopyMethodStateMethodCallHandler OnCall; + + /// + public MoveOrCopyMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37380,6 +38266,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37411,6 +38302,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + MoveOrCopyMethodStateResult _result = null; + + NodeId objectToMoveOrCopy = (NodeId)_inputArguments[0]; + NodeId targetDirectory = (NodeId)_inputArguments[1]; + bool createCopy = (bool)_inputArguments[2]; + string newName = (string)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + objectToMoveOrCopy, + targetDirectory, + createCopy, + newName, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37428,6 +38364,29 @@ public delegate ServiceResult MoveOrCopyMethodStateMethodCallHandler( bool createCopy, string newName, ref NodeId newNodeId); + + /// + /// + public partial class MoveOrCopyMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId NewNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask MoveOrCopyMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId objectToMoveOrCopy, + NodeId targetDirectory, + bool createCopy, + string newName, + CancellationToken cancellationToken); #endif #endregion @@ -37773,6 +38732,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GenerateFileForReadMethodStateMethodCallHandler OnCall; + + /// + public GenerateFileForReadMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37786,6 +38748,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37817,6 +38784,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GenerateFileForReadMethodStateResult _result = null; + + object generateOptions = (object)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + generateOptions, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FileNodeId; + _outputArguments[1] = _result.FileHandle; + _outputArguments[2] = _result.CompletionStateMachine; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37833,6 +38841,30 @@ public delegate ServiceResult GenerateFileForReadMethodStateMethodCallHandler( ref NodeId fileNodeId, ref uint fileHandle, ref NodeId completionStateMachine); + + /// + /// + public partial class GenerateFileForReadMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId FileNodeId { get; set; } + /// + public uint FileHandle { get; set; } + /// + public NodeId CompletionStateMachine { get; set; } + } + + + /// + /// + public delegate ValueTask GenerateFileForReadMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + object generateOptions, + CancellationToken cancellationToken); #endif #endregion @@ -37885,6 +38917,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GenerateFileForWriteMethodStateMethodCallHandler OnCall; + + /// + public GenerateFileForWriteMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -37898,6 +38933,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -37926,6 +38966,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GenerateFileForWriteMethodStateResult _result = null; + + object generateOptions = (object)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + generateOptions, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FileNodeId; + _outputArguments[1] = _result.FileHandle; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -37941,6 +39021,28 @@ public delegate ServiceResult GenerateFileForWriteMethodStateMethodCallHandler( object generateOptions, ref NodeId fileNodeId, ref uint fileHandle); + + /// + /// + public partial class GenerateFileForWriteMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId FileNodeId { get; set; } + /// + public uint FileHandle { get; set; } + } + + + /// + /// + public delegate ValueTask GenerateFileForWriteMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + object generateOptions, + CancellationToken cancellationToken); #endif #endregion @@ -37992,6 +39094,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CloseAndCommitMethodStateMethodCallHandler OnCall; + + /// + public CloseAndCommitMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -38005,6 +39110,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -38030,6 +39140,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CloseAndCommitMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CompletionStateMachine; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -38044,6 +39193,26 @@ public delegate ServiceResult CloseAndCommitMethodStateMethodCallHandler( NodeId _objectId, uint fileHandle, ref NodeId completionStateMachine); + + /// + /// + public partial class CloseAndCommitMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId CompletionStateMachine { get; set; } + } + + + /// + /// + public delegate ValueTask CloseAndCommitMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + CancellationToken cancellationToken); #endif #endregion @@ -38427,6 +39596,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddRoleMethodStateMethodCallHandler OnCall; + + /// + public AddRoleMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -38440,6 +39612,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -38467,6 +39644,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddRoleMethodStateResult _result = null; + + string roleName = (string)_inputArguments[0]; + string namespaceUri = (string)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + roleName, + namespaceUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RoleNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -38482,6 +39700,27 @@ public delegate ServiceResult AddRoleMethodStateMethodCallHandler( string roleName, string namespaceUri, ref NodeId roleNodeId); + + /// + /// + public partial class AddRoleMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId RoleNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddRoleMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string roleName, + string namespaceUri, + CancellationToken cancellationToken); #endif #endregion @@ -38531,6 +39770,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveRoleMethodStateMethodCallHandler OnCall; + + /// + public RemoveRoleMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -38544,6 +39786,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -38564,6 +39811,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveRoleMethodStateResult _result = null; + + NodeId roleNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + roleNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -38577,6 +39861,24 @@ public delegate ServiceResult RemoveRoleMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId roleNodeId); + + /// + /// + public partial class RemoveRoleMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveRoleMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId roleNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -39396,6 +40698,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddIdentityMethodStateMethodCallHandler OnCall; + + /// + public AddIdentityMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39409,6 +40714,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39429,6 +40739,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddIdentityMethodStateResult _result = null; + + IdentityMappingRuleType rule = (IdentityMappingRuleType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + rule, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39442,6 +40789,24 @@ public delegate ServiceResult AddIdentityMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, IdentityMappingRuleType rule); + + /// + /// + public partial class AddIdentityMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddIdentityMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + IdentityMappingRuleType rule, + CancellationToken cancellationToken); #endif #endregion @@ -39491,6 +40856,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveIdentityMethodStateMethodCallHandler OnCall; + + /// + public RemoveIdentityMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39504,6 +40872,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39524,6 +40897,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveIdentityMethodStateResult _result = null; + + IdentityMappingRuleType rule = (IdentityMappingRuleType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + rule, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39537,6 +40947,24 @@ public delegate ServiceResult RemoveIdentityMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, IdentityMappingRuleType rule); + + /// + /// + public partial class RemoveIdentityMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveIdentityMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + IdentityMappingRuleType rule, + CancellationToken cancellationToken); #endif #endregion @@ -39586,6 +41014,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddApplicationMethodStateMethodCallHandler OnCall; + + /// + public AddApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39599,6 +41030,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39619,6 +41055,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddApplicationMethodStateResult _result = null; + + string applicationUri = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39632,6 +41105,24 @@ public delegate ServiceResult AddApplicationMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, string applicationUri); + + /// + /// + public partial class AddApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string applicationUri, + CancellationToken cancellationToken); #endif #endregion @@ -39682,6 +41173,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveApplicationMethodStateMethodCallHandler OnCall; + + /// + public RemoveApplicationMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39695,6 +41189,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39715,6 +41214,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveApplicationMethodStateResult _result = null; + + string applicationUri = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39728,6 +41264,24 @@ public delegate ServiceResult RemoveApplicationMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, string applicationUri); + + /// + /// + public partial class RemoveApplicationMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveApplicationMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string applicationUri, + CancellationToken cancellationToken); #endif #endregion @@ -39777,6 +41331,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddEndpointMethodStateMethodCallHandler OnCall; + + /// + public AddEndpointMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39790,6 +41347,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39810,6 +41372,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddEndpointMethodStateResult _result = null; + + EndpointType endpoint = (EndpointType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + endpoint, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39823,6 +41422,24 @@ public delegate ServiceResult AddEndpointMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, EndpointType endpoint); + + /// + /// + public partial class AddEndpointMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddEndpointMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + EndpointType endpoint, + CancellationToken cancellationToken); #endif #endregion @@ -39872,6 +41489,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveEndpointMethodStateMethodCallHandler OnCall; + + /// + public RemoveEndpointMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -39885,6 +41505,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -39905,6 +41530,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveEndpointMethodStateResult _result = null; + + EndpointType endpoint = (EndpointType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + endpoint, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -39918,6 +41580,24 @@ public delegate ServiceResult RemoveEndpointMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, EndpointType endpoint); + + /// + /// + public partial class RemoveEndpointMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveEndpointMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + EndpointType endpoint, + CancellationToken cancellationToken); #endif #endregion @@ -46342,6 +48022,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ConditionRefresh2MethodStateMethodCallHandler OnCall; + + /// + public ConditionRefresh2MethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -46355,6 +48038,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -46377,6 +48065,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ConditionRefresh2MethodStateResult _result = null; + + uint subscriptionId = (uint)_inputArguments[0]; + uint monitoredItemId = (uint)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscriptionId, + monitoredItemId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -46391,6 +48118,25 @@ public delegate ServiceResult ConditionRefresh2MethodStateMethodCallHandler( NodeId _objectId, uint subscriptionId, uint monitoredItemId); + + /// + /// + public partial class ConditionRefresh2MethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ConditionRefresh2MethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint subscriptionId, + uint monitoredItemId, + CancellationToken cancellationToken); #endif #endregion @@ -46441,6 +48187,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ConditionRefreshMethodStateMethodCallHandler OnCall; + + /// + public ConditionRefreshMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -46454,6 +48203,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -46474,6 +48228,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ConditionRefreshMethodStateResult _result = null; + + uint subscriptionId = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscriptionId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -46487,6 +48278,24 @@ public delegate ServiceResult ConditionRefreshMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, uint subscriptionId); + + /// + /// + public partial class ConditionRefreshMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ConditionRefreshMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint subscriptionId, + CancellationToken cancellationToken); #endif #endregion @@ -46538,6 +48347,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddCommentMethodStateMethodCallHandler OnCall; + + /// + public AddCommentMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -46551,6 +48363,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -46573,6 +48390,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddCommentMethodStateResult _result = null; + + byte[] eventId = (byte[])_inputArguments[0]; + LocalizedText comment = (LocalizedText)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + eventId, + comment, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -46587,6 +48443,25 @@ public delegate ServiceResult AddCommentMethodStateMethodCallHandler( NodeId _objectId, byte[] eventId, LocalizedText comment); + + /// + /// + public partial class AddCommentMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddCommentMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + byte[] eventId, + LocalizedText comment, + CancellationToken cancellationToken); #endif #endregion @@ -47195,6 +49070,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DialogResponseMethodStateMethodCallHandler OnCall; + + /// + public DialogResponseMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -47208,6 +49086,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -47228,6 +49111,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DialogResponseMethodStateResult _result = null; + + int selectedResponse = (int)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + selectedResponse, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -47241,6 +49161,24 @@ public delegate ServiceResult DialogResponseMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, int selectedResponse); + + /// + /// + public partial class DialogResponseMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask DialogResponseMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + int selectedResponse, + CancellationToken cancellationToken); #endif #endregion @@ -47291,6 +49229,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DialogResponse2MethodStateMethodCallHandler OnCall; + + /// + public DialogResponse2MethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -47304,6 +49245,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -47326,6 +49272,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DialogResponse2MethodStateResult _result = null; + + int selectedResponse = (int)_inputArguments[0]; + LocalizedText comment = (LocalizedText)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + selectedResponse, + comment, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -47340,6 +49325,25 @@ public delegate ServiceResult DialogResponse2MethodStateMethodCallHandler( NodeId _objectId, int selectedResponse, LocalizedText comment); + + /// + /// + public partial class DialogResponse2MethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask DialogResponse2MethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + int selectedResponse, + LocalizedText comment, + CancellationToken cancellationToken); #endif #endregion @@ -49498,6 +51502,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public WithCommentMethodStateMethodCallHandler OnCall; + + /// + public WithCommentMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -49511,6 +51518,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -49531,6 +51543,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + WithCommentMethodStateResult _result = null; + + LocalizedText comment = (LocalizedText)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + comment, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -49544,6 +51593,24 @@ public delegate ServiceResult WithCommentMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, LocalizedText comment); + + /// + /// + public partial class WithCommentMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask WithCommentMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + LocalizedText comment, + CancellationToken cancellationToken); #endif #endregion @@ -49594,6 +51661,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetGroupMembershipsMethodStateMethodCallHandler OnCall; + + /// + public GetGroupMembershipsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -49607,6 +51677,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -49629,6 +51704,42 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetGroupMembershipsMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Groups; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -49642,6 +51753,25 @@ public delegate ServiceResult GetGroupMembershipsMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, ref NodeId[] groups); + + /// + /// + public partial class GetGroupMembershipsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId[] Groups { get; set; } + } + + + /// + /// + public delegate ValueTask GetGroupMembershipsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); #endif #endregion @@ -50276,6 +52406,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public TimedShelveMethodStateMethodCallHandler OnCall; + + /// + public TimedShelveMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -50289,6 +52422,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -50309,6 +52447,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + TimedShelveMethodStateResult _result = null; + + double shelvingTime = (double)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + shelvingTime, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -50322,6 +52497,24 @@ public delegate ServiceResult TimedShelveMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, double shelvingTime); + + /// + /// + public partial class TimedShelveMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask TimedShelveMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + double shelvingTime, + CancellationToken cancellationToken); #endif #endregion @@ -50372,6 +52565,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public TimedShelve2MethodStateMethodCallHandler OnCall; + + /// + public TimedShelve2MethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -50385,6 +52581,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -50407,6 +52608,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + TimedShelve2MethodStateResult _result = null; + + double shelvingTime = (double)_inputArguments[0]; + LocalizedText comment = (LocalizedText)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + shelvingTime, + comment, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -50421,6 +52661,25 @@ public delegate ServiceResult TimedShelve2MethodStateMethodCallHandler( NodeId _objectId, double shelvingTime, LocalizedText comment); + + /// + /// + public partial class TimedShelve2MethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask TimedShelve2MethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + double shelvingTime, + LocalizedText comment, + CancellationToken cancellationToken); #endif #endregion @@ -66067,6 +68326,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public OpenWithMasksMethodStateMethodCallHandler OnCall; + + /// + public OpenWithMasksMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -66080,6 +68342,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -66105,6 +68372,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + OpenWithMasksMethodStateResult _result = null; + + uint masks = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + masks, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FileHandle; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -66119,6 +68425,26 @@ public delegate ServiceResult OpenWithMasksMethodStateMethodCallHandler( NodeId _objectId, uint masks, ref uint fileHandle); + + /// + /// + public partial class OpenWithMasksMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public uint FileHandle { get; set; } + } + + + /// + /// + public delegate ValueTask OpenWithMasksMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint masks, + CancellationToken cancellationToken); #endif #endregion @@ -66170,6 +68496,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CloseAndUpdateMethodStateMethodCallHandler OnCall; + + /// + public CloseAndUpdateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -66183,6 +68512,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -66208,6 +68542,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CloseAndUpdateMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ApplyChangesRequired; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -66222,6 +68595,26 @@ public delegate ServiceResult CloseAndUpdateMethodStateMethodCallHandler( NodeId _objectId, uint fileHandle, ref bool applyChangesRequired); + + /// + /// + public partial class CloseAndUpdateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public bool ApplyChangesRequired { get; set; } + } + + + /// + /// + public delegate ValueTask CloseAndUpdateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + CancellationToken cancellationToken); #endif #endregion @@ -66272,6 +68665,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddCertificateMethodStateMethodCallHandler OnCall; + + /// + public AddCertificateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -66285,6 +68681,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -66307,6 +68708,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddCertificateMethodStateResult _result = null; + + byte[] certificate = (byte[])_inputArguments[0]; + bool isTrustedCertificate = (bool)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificate, + isTrustedCertificate, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -66321,6 +68761,25 @@ public delegate ServiceResult AddCertificateMethodStateMethodCallHandler( NodeId _objectId, byte[] certificate, bool isTrustedCertificate); + + /// + /// + public partial class AddCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + byte[] certificate, + bool isTrustedCertificate, + CancellationToken cancellationToken); #endif #endregion @@ -66371,6 +68830,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveCertificateMethodStateMethodCallHandler OnCall; + + /// + public RemoveCertificateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -66384,6 +68846,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -66406,6 +68873,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveCertificateMethodStateResult _result = null; + + string thumbprint = (string)_inputArguments[0]; + bool isTrustedCertificate = (bool)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + thumbprint, + isTrustedCertificate, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -66420,6 +68926,25 @@ public delegate ServiceResult RemoveCertificateMethodStateMethodCallHandler( NodeId _objectId, string thumbprint, bool isTrustedCertificate); + + /// + /// + public partial class RemoveCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string thumbprint, + bool isTrustedCertificate, + CancellationToken cancellationToken); #endif #endregion @@ -67267,9 +69792,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) { base.InitializeOptionalChildren(context); - if (GetRejectedList != null) + if (Purpose != null) { - GetRejectedList.Initialize(context, GetRejectedList_InitializationString); + Purpose.Initialize(context, Purpose_InitializationString); } if (CertificateExpired != null) @@ -67281,13 +69806,16 @@ protected override void InitializeOptionalChildren(ISystemContext context) { TrustListOutOfDate.Initialize(context, TrustListOutOfDate_InitializationString); } + + if (GetRejectedList != null) + { + GetRejectedList.Initialize(context, GetRejectedList_InitializationString); + } } #region Initialization String - private const string GetRejectedList_InitializationString = - "//////////8EYYIKBAAAAAAADwAAAEdldFJlamVjdGVkTGlzdAEA5lsALwEA5lvmWwAAAQH/////AQAA" + - "ABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQDnWwAuAETnWwAAlgEAAAABACoBAR8AAAAMAAAA" + - "Q2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAA="; + private const string Purpose_InitializationString = + "//////////8VYIkKAgAAAAAABwAAAFB1cnBvc2UBAMZLAC4ARMZLAAAAEf////8BAf////8AAAAA"; private const string CertificateExpired_InitializationString = "//////////8EYIAKAQAAAAAAEgAAAENlcnRpZmljYXRlRXhwaXJlZAEA+ksALwEAqTP6SwAA/////x4A" + @@ -67377,9 +69905,14 @@ protected override void InitializeOptionalChildren(ISystemContext context) "dGVUaW1lAQBATwAuAERATwAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABVcGRhdGVGcmVx" + "dWVuY3kBAEFPAC4AREFPAAABACIB/////wEB/////wAAAAA="; + private const string GetRejectedList_InitializationString = + "//////////8EYYIKBAAAAAAADwAAAEdldFJlamVjdGVkTGlzdAEA5lsALwEA5lvmWwAAAQH/////AQAA" + + "ABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQDnWwAuAETnWwAAlgEAAAABACoBAR8AAAAMAAAA" + + "Q2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAA="; + private const string InitializationString = "//////////8EYIACAQAAAAAAHAAAAENlcnRpZmljYXRlR3JvdXBUeXBlSW5zdGFuY2UBAAsxAQALMQsx" + - "AAABAAAAAQAuIwABAKkzBQAAAARggAoBAAAAAAAJAAAAVHJ1c3RMaXN0AQAfNQAvAQDqMB81AAD/////" + + "AAABAAAAAQAuIwABAKkzBgAAAARggAoBAAAAAAAJAAAAVHJ1c3RMaXN0AQAfNQAvAQDqMB81AAD/////" + "DwAAABVgiQoCAAAAAAAEAAAAU2l6ZQEAIDUALgBEIDUAAAAJ/////wEB/////wAAAAAVYIkKAgAAAAAA" + "CAAAAFdyaXRhYmxlAQAhNQAuAEQhNQAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAVXNlcldy" + "aXRhYmxlAQAiNQAuAEQiNQAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAAT3BlbkNvdW50AQAj" + @@ -67422,93 +69955,94 @@ protected override void InitializeOptionalChildren(ISystemContext context) "AAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQA+NQAuAEQ+NQAAlgIAAAABACoBARkAAAAKAAAA" + "VGh1bWJwcmludAAM/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////" + "AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgiQoCAAAAAAAQAAAAQ2VydGlmaWNhdGVUeXBl" + - "cwEAPzUALgBEPzUAAAARAQAAAAEAAAAAAAAAAQH/////AAAAAARhggoEAAAAAAAPAAAAR2V0UmVqZWN0" + - "ZWRMaXN0AQDmWwAvAQDmW+ZbAAABAf////8BAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMB" + - "AOdbAC4AROdbAACWAQAAAAEAKgEBHwAAAAwAAABDZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgB" + - "AQAAAAEAAAABAAAAAQH/////AAAAAARggAoBAAAAAAASAAAAQ2VydGlmaWNhdGVFeHBpcmVkAQD6SwAv" + - "AQCpM/pLAAD/////HgAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAEA+0sALgBE+0sAAAAP/////wEB////" + - "/wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQEA/EsALgBE/EsAAAAR/////wEB/////wAAAAAVYIkK" + - "AgAAAAAACgAAAFNvdXJjZU5vZGUBAP1LAC4ARP1LAAAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAoA" + - "AABTb3VyY2VOYW1lAQD+SwAuAET+SwAAAAz/////AQH/////AAAAABVgiQoCAAAAAAAEAAAAVGltZQEA" + - "/0sALgBE/0sAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAALAAAAUmVjZWl2ZVRpbWUBAABMAC4A" + - "RABMAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAAAE1lc3NhZ2UBAAJMAC4ARAJMAAAAFf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0eQEAA0wALgBEA0wAAAAF/////wEB/////wAA" + - "AAAVYIkKAgAAAAAAEAAAAENvbmRpdGlvbkNsYXNzSWQBAARMAC4ARARMAAAAEf////8BAf////8AAAAA" + - "FWCJCgIAAAAAABIAAABDb25kaXRpb25DbGFzc05hbWUBAAVMAC4ARAVMAAAAFf////8BAf////8AAAAA" + - "FWCJCgIAAAAAAA0AAABDb25kaXRpb25OYW1lAQAITAAuAEQITAAAAAz/////AQH/////AAAAABVgiQoC" + - "AAAAAAAIAAAAQnJhbmNoSWQBAAlMAC4ARAlMAAAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABS" + - "ZXRhaW4BAApMAC4ARApMAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABFbmFibGVkU3RhdGUB" + - "AAtMAC8BACMjC0wAAAAV/////wEBBQAAAAEALCMAAQAfTAEALCMAAQAoTAEALCMAAQA1TAEALCMAAQA/" + - "TAEALCMAAQBRTAEAAAAVYIkKAgAAAAAAAgAAAElkAQAMTAAuAEQMTAAAAAH/////AQH/////AAAAABVg" + - "iQoCAAAAAAAHAAAAUXVhbGl0eQEAFEwALwEAKiMUTAAAABP/////AQH/////AQAAABVgiQoCAAAAAAAP" + - "AAAAU291cmNlVGltZXN0YW1wAQAVTAAuAEQVTAAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAwA" + - "AABMYXN0U2V2ZXJpdHkBABZMAC8BACojFkwAAAAF/////wEB/////wEAAAAVYIkKAgAAAAAADwAAAFNv" + - "dXJjZVRpbWVzdGFtcAEAF0wALgBEF0wAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAAQ29t" + - "bWVudAEAGEwALwEAKiMYTAAAABX/////AQH/////AQAAABVgiQoCAAAAAAAPAAAAU291cmNlVGltZXN0" + - "YW1wAQAZTAAuAEQZTAAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQB" + - "ABpMAC4ARBpMAAAADP////8BAf////8AAAAABGGCCgQAAAAAAAcAAABEaXNhYmxlAQAbTAAvAQBEIxtM" + - "AAABAQEAAAABAPkLAAEA8woAAAAABGGCCgQAAAAAAAYAAABFbmFibGUBABxMAC8BAEMjHEwAAAEBAQAA" + - "AAEA+QsAAQDzCgAAAAAEYYIKBAAAAAAACgAAAEFkZENvbW1lbnQBAB1MAC8BAEUjHUwAAAEBAQAAAAEA" + - "+QsAAQANCwEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQAeTAAuAEQeTAAAlgIAAAABACoB" + - "AUYAAAAHAAAARXZlbnRJZAAP/////wAAAAADAAAAACgAAABUaGUgaWRlbnRpZmllciBmb3IgdGhlIGV2" + - "ZW50IHRvIGNvbW1lbnQuAQAqAQFCAAAABwAAAENvbW1lbnQAFf////8AAAAAAwAAAAAkAAAAVGhlIGNv" + - "bW1lbnQgdG8gYWRkIHRvIHRoZSBjb25kaXRpb24uAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAVYIkK" + - "AgAAAAAACgAAAEFja2VkU3RhdGUBAB9MAC8BACMjH0wAAAAV/////wEBAQAAAAEALCMBAQALTAEAAAAV" + - "YIkKAgAAAAAAAgAAAElkAQAgTAAuAEQgTAAAAAH/////AQH/////AAAAAARhggoEAAAAAAALAAAAQWNr" + - "bm93bGVkZ2UBADFMAC8BAJcjMUwAAAEBAQAAAAEA+QsAAQDwIgEAAAAXYKkKAgAAAAAADgAAAElucHV0" + - "QXJndW1lbnRzAQAyTAAuAEQyTAAAlgIAAAABACoBAUYAAAAHAAAARXZlbnRJZAAP/////wAAAAADAAAA" + - "ACgAAABUaGUgaWRlbnRpZmllciBmb3IgdGhlIGV2ZW50IHRvIGNvbW1lbnQuAQAqAQFCAAAABwAAAENv" + - "bW1lbnQAFf////8AAAAAAwAAAAAkAAAAVGhlIGNvbW1lbnQgdG8gYWRkIHRvIHRoZSBjb25kaXRpb24u" + - "AQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAEFjdGl2ZVN0YXRlAQA1TAAvAQAj" + - "IzVMAAAAFf////8BAQEAAAABACwjAQEAC0wBAAAAFWCJCgIAAAAAAAIAAABJZAEANkwALgBENkwAAAAB" + - "/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAElucHV0Tm9kZQEAPkwALgBEPkwAAAAR/////wEB////" + - "/wAAAAAVYIkKAgAAAAAAEwAAAFN1cHByZXNzZWRPclNoZWx2ZWQBAIVOAC4ARIVOAAAAAf////8BAf//" + - "//8AAAAAFWCJCgIAAAAAAAsAAABOb3JtYWxTdGF0ZQEAqk4ALgBEqk4AAAAR/////wEB/////wAAAAAV" + - "YIkKAgAAAAAADgAAAEV4cGlyYXRpb25EYXRlAQCrTgAuAESrTgAAAA3/////AQH/////AAAAABVgiQoC" + - "AAAAAAAPAAAAQ2VydGlmaWNhdGVUeXBlAQCtTgAuAEStTgAAABH/////AQH/////AAAAABVgiQoCAAAA" + - "AAALAAAAQ2VydGlmaWNhdGUBAK5OAC4ARK5OAAAAD/////8BAf////8AAAAABGCACgEAAAAAABIAAABU" + - "cnVzdExpc3RPdXRPZkRhdGUBAK9OAC8BAGFLr04AAP////8eAAAAFWCJCgIAAAAAAAcAAABFdmVudElk" + - "AQCwTgAuAESwTgAAAA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAQCxTgAuAESx" + - "TgAAABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQEAsk4ALgBEsk4AAAAR////" + - "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUBALNOAC4ARLNOAAAADP////8BAf////8A" + - "AAAAFWCJCgIAAAAAAAQAAABUaW1lAQC0TgAuAES0TgAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + - "AAsAAABSZWNlaXZlVGltZQEAtU4ALgBEtU4AAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAA" + - "TWVzc2FnZQEAt04ALgBEt04AAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AQC4" + - "TgAuAES4TgAAAAX/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAQ29uZGl0aW9uQ2xhc3NJZAEAuU4A" + - "LgBEuU4AAAAR/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENvbmRpdGlvbkNsYXNzTmFtZQEAuk4A" + - "LgBEuk4AAAAV/////wEB/////wAAAAAVYIkKAgAAAAAADQAAAENvbmRpdGlvbk5hbWUBAL1OAC4ARL1O" + - "AAAADP////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABCcmFuY2hJZAEAvk4ALgBEvk4AAAAR/////wEB" + - "/////wAAAAAVYIkKAgAAAAAABgAAAFJldGFpbgEAv04ALgBEv04AAAAB/////wEB/////wAAAAAVYIkK" + - "AgAAAAAADAAAAEVuYWJsZWRTdGF0ZQEAwE4ALwEAIyPATgAAABX/////AQEFAAAAAQAsIwABANROAQAs" + - "IwABAN1OAQAsIwABAOpOAQAsIwABAPROAQAsIwABAAZPAQAAABVgiQoCAAAAAAACAAAASWQBAMFOAC4A" + - "RMFOAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABRdWFsaXR5AQDJTgAvAQAqI8lOAAAAE///" + - "//8BAf////8BAAAAFWCJCgIAAAAAAA8AAABTb3VyY2VUaW1lc3RhbXABAMpOAC4ARMpOAAABACYB////" + - "/wEB/////wAAAAAVYIkKAgAAAAAADAAAAExhc3RTZXZlcml0eQEAy04ALwEAKiPLTgAAAAX/////AQH/" + - "////AQAAABVgiQoCAAAAAAAPAAAAU291cmNlVGltZXN0YW1wAQDMTgAuAETMTgAAAQAmAf////8BAf//" + - "//8AAAAAFWCJCgIAAAAAAAcAAABDb21tZW50AQDNTgAvAQAqI81OAAAAFf////8BAf////8BAAAAFWCJ" + - "CgIAAAAAAA8AAABTb3VyY2VUaW1lc3RhbXABAM5OAC4ARM5OAAABACYB/////wEB/////wAAAAAVYIkK" + - "AgAAAAAADAAAAENsaWVudFVzZXJJZAEAz04ALgBEz04AAAAM/////wEB/////wAAAAAEYYIKBAAAAAAA" + - "BwAAAERpc2FibGUBANBOAC8BAEQj0E4AAAEBAQAAAAEA+QsAAQDzCgAAAAAEYYIKBAAAAAAABgAAAEVu" + - "YWJsZQEA0U4ALwEAQyPRTgAAAQEBAAAAAQD5CwABAPMKAAAAAARhggoEAAAAAAAKAAAAQWRkQ29tbWVu" + - "dAEA0k4ALwEARSPSTgAAAQEBAAAAAQD5CwABAA0LAQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVu" + - "dHMBANNOAC4ARNNOAACWAgAAAAEAKgEBRgAAAAcAAABFdmVudElkAA//////AAAAAAMAAAAAKAAAAFRo" + - "ZSBpZGVudGlmaWVyIGZvciB0aGUgZXZlbnQgdG8gY29tbWVudC4BACoBAUIAAAAHAAAAQ29tbWVudAAV" + - "/////wAAAAADAAAAACQAAABUaGUgY29tbWVudCB0byBhZGQgdG8gdGhlIGNvbmRpdGlvbi4BACgBAQAA" + - "AAEAAAACAAAAAQH/////AAAAABVgiQoCAAAAAAAKAAAAQWNrZWRTdGF0ZQEA1E4ALwEAIyPUTgAAABX/" + - "////AQEBAAAAAQAsIwEBAMBOAQAAABVgiQoCAAAAAAACAAAASWQBANVOAC4ARNVOAAAAAf////8BAf//" + - "//8AAAAABGGCCgQAAAAAAAsAAABBY2tub3dsZWRnZQEA5k4ALwEAlyPmTgAAAQEBAAAAAQD5CwABAPAi" + - "AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAOdOAC4AROdOAACWAgAAAAEAKgEBRgAAAAcA" + - "AABFdmVudElkAA//////AAAAAAMAAAAAKAAAAFRoZSBpZGVudGlmaWVyIGZvciB0aGUgZXZlbnQgdG8g" + - "Y29tbWVudC4BACoBAUIAAAAHAAAAQ29tbWVudAAV/////wAAAAADAAAAACQAAABUaGUgY29tbWVudCB0" + - "byBhZGQgdG8gdGhlIGNvbmRpdGlvbi4BACgBAQAAAAEAAAACAAAAAQH/////AAAAABVgiQoCAAAAAAAL" + - "AAAAQWN0aXZlU3RhdGUBAOpOAC8BACMj6k4AAAAV/////wEBAQAAAAEALCMBAQDATgEAAAAVYIkKAgAA" + - "AAAAAgAAAElkAQDrTgAuAETrTgAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAASW5wdXROb2Rl" + - "AQDzTgAuAETzTgAAABH/////AQH/////AAAAABVgiQoCAAAAAAATAAAAU3VwcHJlc3NlZE9yU2hlbHZl" + - "ZAEAGU8ALgBEGU8AAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAE5vcm1hbFN0YXRlAQA+TwAu" + - "AEQ+TwAAABH/////AQH/////AAAAABVgiQoCAAAAAAALAAAAVHJ1c3RMaXN0SWQBAD9PAC4ARD9PAAAA" + - "Ef////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VXBkYXRlVGltZQEAQE8ALgBEQE8AAAEAJgH/" + - "////AQH/////AAAAABVgiQoCAAAAAAAPAAAAVXBkYXRlRnJlcXVlbmN5AQBBTwAuAERBTwAAAQAiAf//" + - "//8BAf////8AAAAA"; + "cwEAPzUALgBEPzUAAAARAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAAHAAAAUHVycG9zZQEA" + + "xksALgBExksAAAAR/////wEB/////wAAAAAEYIAKAQAAAAAAEgAAAENlcnRpZmljYXRlRXhwaXJlZAEA" + + "+ksALwEAqTP6SwAA/////x4AAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQBAPtLAC4ARPtLAAAAD/////8B" + + "Af////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUBAPxLAC4ARPxLAAAAEf////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAQD9SwAuAET9SwAAABH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAKAAAAU291cmNlTmFtZQEA/ksALgBE/ksAAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAAAFRp" + + "bWUBAP9LAC4ARP9LAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVUaW1lAQAA" + + "TAAuAEQATAAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAQACTAAuAEQCTAAA" + + "ABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkBAANMAC4ARANMAAAABf////8BAf//" + + "//8AAAAAFWCJCgIAAAAAABAAAABDb25kaXRpb25DbGFzc0lkAQAETAAuAEQETAAAABH/////AQH/////" + + "AAAAABVgiQoCAAAAAAASAAAAQ29uZGl0aW9uQ2xhc3NOYW1lAQAFTAAuAEQFTAAAABX/////AQH/////" + + "AAAAABVgiQoCAAAAAAANAAAAQ29uZGl0aW9uTmFtZQEACEwALgBECEwAAAAM/////wEB/////wAAAAAV" + + "YIkKAgAAAAAACAAAAEJyYW5jaElkAQAJTAAuAEQJTAAAABH/////AQH/////AAAAABVgiQoCAAAAAAAG" + + "AAAAUmV0YWluAQAKTAAuAEQKTAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAARW5hYmxlZFN0" + + "YXRlAQALTAAvAQAjIwtMAAAAFf////8BAQUAAAABACwjAAEAH0wBACwjAAEAKEwBACwjAAEANUwBACwj" + + "AAEAP0wBACwjAAEAUUwBAAAAFWCJCgIAAAAAAAIAAABJZAEADEwALgBEDEwAAAAB/////wEB/////wAA" + + "AAAVYIkKAgAAAAAABwAAAFF1YWxpdHkBABRMAC8BACojFEwAAAAT/////wEB/////wEAAAAVYIkKAgAA" + + "AAAADwAAAFNvdXJjZVRpbWVzdGFtcAEAFUwALgBEFUwAAAEAJgH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAMAAAATGFzdFNldmVyaXR5AQAWTAAvAQAqIxZMAAAABf////8BAf////8BAAAAFWCJCgIAAAAAAA8A" + + "AABTb3VyY2VUaW1lc3RhbXABABdMAC4ARBdMAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAA" + + "AENvbW1lbnQBABhMAC8BACojGEwAAAAV/////wEB/////wEAAAAVYIkKAgAAAAAADwAAAFNvdXJjZVRp" + + "bWVzdGFtcAEAGUwALgBEGUwAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNl" + + "cklkAQAaTAAuAEQaTAAAAAz/////AQH/////AAAAAARhggoEAAAAAAAHAAAARGlzYWJsZQEAG0wALwEA" + + "RCMbTAAAAQEBAAAAAQD5CwABAPMKAAAAAARhggoEAAAAAAAGAAAARW5hYmxlAQAcTAAvAQBDIxxMAAAB" + + "AQEAAAABAPkLAAEA8woAAAAABGGCCgQAAAAAAAoAAABBZGRDb21tZW50AQAdTAAvAQBFIx1MAAABAQEA" + + "AAABAPkLAAEADQsBAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAHkwALgBEHkwAAJYCAAAA" + + "AQAqAQFGAAAABwAAAEV2ZW50SWQAD/////8AAAAAAwAAAAAoAAAAVGhlIGlkZW50aWZpZXIgZm9yIHRo" + + "ZSBldmVudCB0byBjb21tZW50LgEAKgEBQgAAAAcAAABDb21tZW50ABX/////AAAAAAMAAAAAJAAAAFRo" + + "ZSBjb21tZW50IHRvIGFkZCB0byB0aGUgY29uZGl0aW9uLgEAKAEBAAAAAQAAAAIAAAABAf////8AAAAA" + + "FWCJCgIAAAAAAAoAAABBY2tlZFN0YXRlAQAfTAAvAQAjIx9MAAAAFf////8BAQEAAAABACwjAQEAC0wB" + + "AAAAFWCJCgIAAAAAAAIAAABJZAEAIEwALgBEIEwAAAAB/////wEB/////wAAAAAEYYIKBAAAAAAACwAA" + + "AEFja25vd2xlZGdlAQAxTAAvAQCXIzFMAAABAQEAAAABAPkLAAEA8CIBAAAAF2CpCgIAAAAAAA4AAABJ" + + "bnB1dEFyZ3VtZW50cwEAMkwALgBEMkwAAJYCAAAAAQAqAQFGAAAABwAAAEV2ZW50SWQAD/////8AAAAA" + + "AwAAAAAoAAAAVGhlIGlkZW50aWZpZXIgZm9yIHRoZSBldmVudCB0byBjb21tZW50LgEAKgEBQgAAAAcA" + + "AABDb21tZW50ABX/////AAAAAAMAAAAAJAAAAFRoZSBjb21tZW50IHRvIGFkZCB0byB0aGUgY29uZGl0" + + "aW9uLgEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAFWCJCgIAAAAAAAsAAABBY3RpdmVTdGF0ZQEANUwA" + + "LwEAIyM1TAAAABX/////AQEBAAAAAQAsIwEBAAtMAQAAABVgiQoCAAAAAAACAAAASWQBADZMAC4ARDZM" + + "AAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABJbnB1dE5vZGUBAD5MAC4ARD5MAAAAEf////8B" + + "Af////8AAAAAFWCJCgIAAAAAABMAAABTdXBwcmVzc2VkT3JTaGVsdmVkAQCFTgAuAESFTgAAAAH/////" + + "AQH/////AAAAABVgiQoCAAAAAAALAAAATm9ybWFsU3RhdGUBAKpOAC4ARKpOAAAAEf////8BAf////8A" + + "AAAAFWCJCgIAAAAAAA4AAABFeHBpcmF0aW9uRGF0ZQEAq04ALgBEq04AAAAN/////wEB/////wAAAAAV" + + "YIkKAgAAAAAADwAAAENlcnRpZmljYXRlVHlwZQEArU4ALgBErU4AAAAR/////wEB/////wAAAAAVYIkK" + + "AgAAAAAACwAAAENlcnRpZmljYXRlAQCuTgAuAESuTgAAAA//////AQH/////AAAAAARggAoBAAAAAAAS" + + "AAAAVHJ1c3RMaXN0T3V0T2ZEYXRlAQCvTgAvAQBhS69OAAD/////HgAAABVgiQoCAAAAAAAHAAAARXZl" + + "bnRJZAEAsE4ALgBEsE4AAAAP/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQEAsU4A" + + "LgBEsU4AAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUBALJOAC4ARLJOAAAA" + + "Ef////8BAf////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAQCzTgAuAESzTgAAAAz/////AQH/" + + "////AAAAABVgiQoCAAAAAAAEAAAAVGltZQEAtE4ALgBEtE4AAAEAJgH/////AQH/////AAAAABVgiQoC" + + "AAAAAAALAAAAUmVjZWl2ZVRpbWUBALVOAC4ARLVOAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "BwAAAE1lc3NhZ2UBALdOAC4ARLdOAAAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0" + + "eQEAuE4ALgBEuE4AAAAF/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAENvbmRpdGlvbkNsYXNzSWQB" + + "ALlOAC4ARLlOAAAAEf////8BAf////8AAAAAFWCJCgIAAAAAABIAAABDb25kaXRpb25DbGFzc05hbWUB" + + "ALpOAC4ARLpOAAAAFf////8BAf////8AAAAAFWCJCgIAAAAAAA0AAABDb25kaXRpb25OYW1lAQC9TgAu" + + "AES9TgAAAAz/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAQnJhbmNoSWQBAL5OAC4ARL5OAAAAEf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAAYAAABSZXRhaW4BAL9OAC4ARL9OAAAAAf////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAwAAABFbmFibGVkU3RhdGUBAMBOAC8BACMjwE4AAAAV/////wEBBQAAAAEALCMAAQDU" + + "TgEALCMAAQDdTgEALCMAAQDqTgEALCMAAQD0TgEALCMAAQAGTwEAAAAVYIkKAgAAAAAAAgAAAElkAQDB" + + "TgAuAETBTgAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAAUXVhbGl0eQEAyU4ALwEAKiPJTgAA" + + "ABP/////AQH/////AQAAABVgiQoCAAAAAAAPAAAAU291cmNlVGltZXN0YW1wAQDKTgAuAETKTgAAAQAm" + + "Af////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABMYXN0U2V2ZXJpdHkBAMtOAC8BACojy04AAAAF////" + + "/wEB/////wEAAAAVYIkKAgAAAAAADwAAAFNvdXJjZVRpbWVzdGFtcAEAzE4ALgBEzE4AAAEAJgH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAHAAAAQ29tbWVudAEAzU4ALwEAKiPNTgAAABX/////AQH/////AQAA" + + "ABVgiQoCAAAAAAAPAAAAU291cmNlVGltZXN0YW1wAQDOTgAuAETOTgAAAQAmAf////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQBAM9OAC4ARM9OAAAADP////8BAf////8AAAAABGGCCgQA" + + "AAAAAAcAAABEaXNhYmxlAQDQTgAvAQBEI9BOAAABAQEAAAABAPkLAAEA8woAAAAABGGCCgQAAAAAAAYA" + + "AABFbmFibGUBANFOAC8BAEMj0U4AAAEBAQAAAAEA+QsAAQDzCgAAAAAEYYIKBAAAAAAACgAAAEFkZENv" + + "bW1lbnQBANJOAC8BAEUj0k4AAAEBAQAAAAEA+QsAAQANCwEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJn" + + "dW1lbnRzAQDTTgAuAETTTgAAlgIAAAABACoBAUYAAAAHAAAARXZlbnRJZAAP/////wAAAAADAAAAACgA" + + "AABUaGUgaWRlbnRpZmllciBmb3IgdGhlIGV2ZW50IHRvIGNvbW1lbnQuAQAqAQFCAAAABwAAAENvbW1l" + + "bnQAFf////8AAAAAAwAAAAAkAAAAVGhlIGNvbW1lbnQgdG8gYWRkIHRvIHRoZSBjb25kaXRpb24uAQAo" + + "AQEAAAABAAAAAgAAAAEB/////wAAAAAVYIkKAgAAAAAACgAAAEFja2VkU3RhdGUBANROAC8BACMj1E4A" + + "AAAV/////wEBAQAAAAEALCMBAQDATgEAAAAVYIkKAgAAAAAAAgAAAElkAQDVTgAuAETVTgAAAAH/////" + + "AQH/////AAAAAARhggoEAAAAAAALAAAAQWNrbm93bGVkZ2UBAOZOAC8BAJcj5k4AAAEBAQAAAAEA+QsA" + + "AQDwIgEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQDnTgAuAETnTgAAlgIAAAABACoBAUYA" + + "AAAHAAAARXZlbnRJZAAP/////wAAAAADAAAAACgAAABUaGUgaWRlbnRpZmllciBmb3IgdGhlIGV2ZW50" + + "IHRvIGNvbW1lbnQuAQAqAQFCAAAABwAAAENvbW1lbnQAFf////8AAAAAAwAAAAAkAAAAVGhlIGNvbW1l" + + "bnQgdG8gYWRkIHRvIHRoZSBjb25kaXRpb24uAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAVYIkKAgAA" + + "AAAACwAAAEFjdGl2ZVN0YXRlAQDqTgAvAQAjI+pOAAAAFf////8BAQEAAAABACwjAQEAwE4BAAAAFWCJ" + + "CgIAAAAAAAIAAABJZAEA604ALgBE604AAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAElucHV0" + + "Tm9kZQEA804ALgBE804AAAAR/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAFN1cHByZXNzZWRPclNo" + + "ZWx2ZWQBABlPAC4ARBlPAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABOb3JtYWxTdGF0ZQEA" + + "Pk8ALgBEPk8AAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFRydXN0TGlzdElkAQA/TwAuAEQ/" + + "TwAAABH/////AQH/////AAAAABVgiQoCAAAAAAAOAAAATGFzdFVwZGF0ZVRpbWUBAEBPAC4AREBPAAAB" + + "ACYB/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAFVwZGF0ZUZyZXF1ZW5jeQEAQU8ALgBEQU8AAAEA" + + "IgH/////AQH/////AAAAAARhggoEAAAAAAAPAAAAR2V0UmVqZWN0ZWRMaXN0AQDmWwAvAQDmW+ZbAAAB" + + "Af////8BAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAOdbAC4AROdbAACWAQAAAAEAKgEB" + + "HwAAAAwAAABDZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAA" + + "AA=="; #endregion #endif #endregion @@ -67553,21 +70087,21 @@ public PropertyState CertificateTypes } /// - public GetRejectedListMethodState GetRejectedList + public PropertyState Purpose { get { - return m_getRejectedListMethod; + return m_purpose; } set { - if (!Object.ReferenceEquals(m_getRejectedListMethod, value)) + if (!Object.ReferenceEquals(m_purpose, value)) { ChangeMasks |= NodeStateChangeMasks.Children; } - m_getRejectedListMethod = value; + m_purpose = value; } } @@ -67608,6 +70142,25 @@ public TrustListOutOfDateAlarmState TrustListOutOfDate m_trustListOutOfDate = value; } } + + /// + public GetRejectedListMethodState GetRejectedList + { + get + { + return m_getRejectedListMethod; + } + + set + { + if (!Object.ReferenceEquals(m_getRejectedListMethod, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_getRejectedListMethod = value; + } + } #endregion #region Overridden Methods @@ -67626,9 +70179,9 @@ public override void GetChildren( children.Add(m_certificateTypes); } - if (m_getRejectedListMethod != null) + if (m_purpose != null) { - children.Add(m_getRejectedListMethod); + children.Add(m_purpose); } if (m_certificateExpired != null) @@ -67641,6 +70194,11 @@ public override void GetChildren( children.Add(m_trustListOutOfDate); } + if (m_getRejectedListMethod != null) + { + children.Add(m_getRejectedListMethod); + } + base.GetChildren(context, children); } @@ -67702,24 +70260,24 @@ protected override BaseInstanceState FindChild( break; } - case Opc.Ua.BrowseNames.GetRejectedList: + case Opc.Ua.BrowseNames.Purpose: { if (createOrReplace) { - if (GetRejectedList == null) + if (Purpose == null) { if (replacement == null) { - GetRejectedList = new GetRejectedListMethodState(this); + Purpose = new PropertyState(this); } else { - GetRejectedList = (GetRejectedListMethodState)replacement; + Purpose = (PropertyState)replacement; } } } - instance = GetRejectedList; + instance = Purpose; break; } @@ -67764,6 +70322,27 @@ protected override BaseInstanceState FindChild( instance = TrustListOutOfDate; break; } + + case Opc.Ua.BrowseNames.GetRejectedList: + { + if (createOrReplace) + { + if (GetRejectedList == null) + { + if (replacement == null) + { + GetRejectedList = new GetRejectedListMethodState(this); + } + else + { + GetRejectedList = (GetRejectedListMethodState)replacement; + } + } + } + + instance = GetRejectedList; + break; + } } if (instance != null) @@ -67778,9 +70357,10 @@ protected override BaseInstanceState FindChild( #region Private Fields private TrustListState m_trustList; private PropertyState m_certificateTypes; - private GetRejectedListMethodState m_getRejectedListMethod; + private PropertyState m_purpose; private CertificateExpirationAlarmState m_certificateExpired; private TrustListOutOfDateAlarmState m_trustListOutOfDate; + private GetRejectedListMethodState m_getRejectedListMethod; #endregion } #endif @@ -68436,6 +71016,250 @@ protected override void InitializeOptionalChildren(ISystemContext context) #endif #endregion + #region UserCertificateState Class + #if (!OPCUA_EXCLUDE_UserCertificateState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class UserCertificateState : CertificateState + { + #region Constructors + /// + public UserCertificateState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.UserCertificateType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAGwAAAFVzZXJDZXJ0aWZpY2F0ZVR5cGVJbnN0YW5jZQEAe0sBAHtLe0sA" + + "AP////8AAAAA"; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region TlsCertificateState Class + #if (!OPCUA_EXCLUDE_TlsCertificateState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class TlsCertificateState : CertificateState + { + #region Constructors + /// + public TlsCertificateState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TlsCertificateType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAGgAAAFRsc0NlcnRpZmljYXRlVHlwZUluc3RhbmNlAQB8SwEAfEt8SwAA" + + "/////wAAAAA="; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region TlsServerCertificateState Class + #if (!OPCUA_EXCLUDE_TlsServerCertificateState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class TlsServerCertificateState : TlsCertificateState + { + #region Constructors + /// + public TlsServerCertificateState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TlsServerCertificateType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAIAAAAFRsc1NlcnZlckNlcnRpZmljYXRlVHlwZUluc3RhbmNlAQB9SwEA" + + "fUt9SwAA/////wAAAAA="; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region TlsClientCertificateState Class + #if (!OPCUA_EXCLUDE_TlsClientCertificateState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class TlsClientCertificateState : TlsCertificateState + { + #region Constructors + /// + public TlsClientCertificateState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TlsClientCertificateType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAIAAAAFRsc0NsaWVudENlcnRpZmljYXRlVHlwZUluc3RhbmNlAQB+SwEA" + + "fkt+SwAA/////wAAAAA="; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + #region UserCredentialCertificateState Class #if (!OPCUA_EXCLUDE_UserCredentialCertificateState) /// @@ -69046,23 +71870,23 @@ protected override void InitializeOptionalChildren(ISystemContext context) #endif #endregion - #region TrustListUpdateRequestedAuditEventState Class - #if (!OPCUA_EXCLUDE_TrustListUpdateRequestedAuditEventState) + #region ConfigurationFileState Class + #if (!OPCUA_EXCLUDE_ConfigurationFileState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class TrustListUpdateRequestedAuditEventState : AuditUpdateMethodEventState + public partial class ConfigurationFileState : FileState { #region Constructors /// - public TrustListUpdateRequestedAuditEventState(NodeState parent) : base(parent) + public ConfigurationFileState(NodeState parent) : base(parent) { } /// protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) { - return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TrustListUpdateRequestedAuditEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ConfigurationFileType, Opc.Ua.Namespaces.OpcUa, namespaceUris); } #if (!OPCUA_EXCLUDE_InitializationStrings) @@ -69089,119 +71913,164 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = - "//////////8EYIACAQAAAAAALgAAAFRydXN0TGlzdFVwZGF0ZVJlcXVlc3RlZEF1ZGl0RXZlbnRUeXBl" + - "SW5zdGFuY2UBAAR+AQAEfgR+AAD/////DwAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAKZVDwAALgBE" + - "plUPAAAP/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAKdVDwAALgBEp1UPAAAR" + - "/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAACoVQ8AAC4ARKhVDwAAEf////8B" + - "Af////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAAqVUPAAAuAESpVQ8AAAz/////AQH/////" + - "AAAAABVgiQoCAAAAAAAEAAAAVGltZQIAAKpVDwAALgBEqlUPAAEAJgH/////AQH/////AAAAABVgiQoC" + - "AAAAAAALAAAAUmVjZWl2ZVRpbWUCAACrVQ8AAC4ARKtVDwABACYB/////wEB/////wAAAAAVYIkKAgAA" + - "AAAABwAAAE1lc3NhZ2UCAACtVQ8AAC4ARK1VDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABT" + - "ZXZlcml0eQIAAK5VDwAALgBErlUPAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGlvblRp" + - "bWVTdGFtcAIAALNVDwAALgBEs1UPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAGAAAAU3RhdHVz" + - "AgAAtFUPAAAuAES0VQ8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2VydmVySWQCAAC1VQ8A" + - "AC4ARLVVDwAADP////8BAf////8AAAAAFWCJCgIAAAAAABIAAABDbGllbnRBdWRpdEVudHJ5SWQCAAC2" + - "VQ8AAC4ARLZVDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQCAAC3VQ8A" + - "AC4ARLdVDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABNZXRob2RJZAIAALhVDwAALgBEuFUP" + - "AAAR/////wEB/////wAAAAAXYIkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAulUPAAAuAES6VQ8A" + - "ABgBAAAAAQAAAAAAAAABAf////8AAAAA"; + "//////////8EYIACAQAAAAAAHQAAAENvbmZpZ3VyYXRpb25GaWxlVHlwZUluc3RhbmNlAQBNPAEATTxN" + + "PAAA/////xAAAAAVYIkKAgAAAAAABAAAAFNpemUCAACmVQ8AAC4ARKZVDwAACf////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAgAAABXcml0YWJsZQIAAKdVDwAALgBEp1UPAAAB/////wEB/////wAAAAAVYIkKAgAA" + + "AAAADAAAAFVzZXJXcml0YWJsZQIAAKhVDwAALgBEqFUPAAAB/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "CQAAAE9wZW5Db3VudAIAAKlVDwAALgBEqVUPAAAF/////wEB/////wAAAAAEYYIKBAAAAAAABAAAAE9w" + + "ZW4CAACtVQ8AAC8BADwtrVUPAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAA" + + "rlUPAAAuAESuVQ8AlgEAAAABACoBARMAAAAEAAAATW9kZQAD/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + + "AAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwIAAK9VDwAALgBEr1UPAJYBAAAA" + + "AQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAA" + + "BGGCCgQAAAAAAAUAAABDbG9zZQIAALBVDwAALwEAPy2wVQ8AAQH/////AQAAABdgqQoCAAAAAAAOAAAA" + + "SW5wdXRBcmd1bWVudHMCAACxVQ8AAC4ARLFVDwCWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/" + + "////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAEAAAAUmVhZAIAALJVDwAA" + + "LwEAQS2yVQ8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAACzVQ8AAC4ARLNV" + + "DwCWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoBARUAAAAGAAAATGVuZ3Ro" + + "AAb/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJn" + + "dW1lbnRzAgAAtFUPAAAuAES0VQ8AlgEAAAABACoBARMAAAAEAAAARGF0YQAP/////wAAAAAAAQAoAQEA" + + "AAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAFdyaXRlAgAAtVUPAAAvAQBELbVVDwABAf//" + + "//8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAALZVDwAALgBEtlUPAJYCAAAAAQAqAQEZ" + + "AAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgB" + + "AQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAAALAAAAR2V0UG9zaXRpb24CAAC3VQ8AAC8BAEYt" + + "t1UPAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAuFUPAAAuAES4VQ8AlgEA" + + "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAA" + + "AAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwIAALlVDwAALgBEuVUPAJYBAAAAAQAqAQEXAAAA" + + "CAAAAFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAL" + + "AAAAU2V0UG9zaXRpb24CAAC6VQ8AAC8BAEktulUPAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0" + + "QXJndW1lbnRzAgAAu1UPAAAuAES7VQ8AlgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAA" + + "AAAAAQAqAQEXAAAACAAAAFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAA" + + "ABVgiQoCAAAAAAAOAAAATGFzdFVwZGF0ZVRpbWUBAE48AC4ARE48AAABACYB/////wEB/////wAAAAAV" + + "YIkKAgAAAAAADgAAAEN1cnJlbnRWZXJzaW9uAQBPPAAuAERPPAAAAQAGUv////8BAf////8AAAAAFWCJ" + + "CgIAAAAAAA8AAABBY3Rpdml0eVRpbWVvdXQBAI88AC4ARI88AAABACIB/////wEB/////wAAAAAVYIkK" + + "AgAAAAAAEQAAAFN1cHBvcnRlZERhdGFUeXBlAQCQPAAuAESQPAAAABH/////AQH/////AAAAAARhggoE" + + "AAAAAAANAAAAQ29uZmlybVVwZGF0ZQEAlDwALwEAlDyUPAAAAQH/////AQAAABdgqQoCAAAAAAAOAAAA" + + "SW5wdXRBcmd1bWVudHMBAJc8AC4ARJc8AACWAQAAAAEAKgEBFwAAAAgAAABVcGRhdGVJZAAO/////wAA" + + "AAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAADgAAAENsb3NlQW5kVXBkYXRlAQCR" + + "PAAvAQCRPJE8AAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAkjwALgBEkjwA" + + "AJYFAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBIAAAAA8AAABWZXJzaW9u" + + "VG9VcGRhdGUBAAZS/////wAAAAAAAQAqAQEcAAAABwAAAFRhcmdldHMBALI8AQAAAAEAAAAAAAAAAAEA" + + "KgEBIAAAAA8AAABSZXZlcnRBZnRlclRpbWUBACIB/////wAAAAAAAQAqAQEhAAAAEAAAAFJlc3RhcnRE" + + "ZWxheVRpbWUBACIB/////wAAAAAAAQAoAQEAAAABAAAABQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAA" + + "AE91dHB1dEFyZ3VtZW50cwEAkzwALgBEkzwAAJYDAAAAAQAqAQEgAAAADQAAAFVwZGF0ZVJlc3VsdHMA" + + "EwEAAAABAAAAAAAAAAABACoBARsAAAAKAAAATmV3VmVyc2lvbgEABlL/////AAAAAAABACoBARcAAAAI" + + "AAAAVXBkYXRlSWQADv////8AAAAAAAEAKAEBAAAAAQAAAAMAAAABAf////8AAAAA"; #endregion #endif #endregion #region Public Properties - #endregion - - #region Overridden Methods - #endregion - - #region Private Fields - #endregion - } - #endif - #endregion - - #region TrustListUpdatedAuditEventState Class - #if (!OPCUA_EXCLUDE_TrustListUpdatedAuditEventState) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class TrustListUpdatedAuditEventState : AuditUpdateMethodEventState - { - #region Constructors /// - public TrustListUpdatedAuditEventState(NodeState parent) : base(parent) + public PropertyState LastUpdateTime { + get + { + return m_lastUpdateTime; + } + + set + { + if (!Object.ReferenceEquals(m_lastUpdateTime, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_lastUpdateTime = value; + } } /// - protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + public PropertyState CurrentVersion { - return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TrustListUpdatedAuditEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + get + { + return m_currentVersion; + } + + set + { + if (!Object.ReferenceEquals(m_currentVersion, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_currentVersion = value; + } } - #if (!OPCUA_EXCLUDE_InitializationStrings) /// - protected override void Initialize(ISystemContext context) + public PropertyState ActivityTimeout { - base.Initialize(context); - Initialize(context, InitializationString); - InitializeOptionalChildren(context); + get + { + return m_activityTimeout; + } + + set + { + if (!Object.ReferenceEquals(m_activityTimeout, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_activityTimeout = value; + } } /// - protected override void Initialize(ISystemContext context, NodeState source) + public PropertyState SupportedDataType { - InitializeOptionalChildren(context); - base.Initialize(context, source); + get + { + return m_supportedDataType; + } + + set + { + if (!Object.ReferenceEquals(m_supportedDataType, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_supportedDataType = value; + } } /// - protected override void InitializeOptionalChildren(ISystemContext context) + public ConfigurationFileConfirmUpdateMethodState ConfirmUpdate { - base.InitializeOptionalChildren(context); - } + get + { + return m_confirmUpdateMethod; + } - #region Initialization String - private const string InitializationString = - "//////////8EYIACAQAAAAAAJgAAAFRydXN0TGlzdFVwZGF0ZWRBdWRpdEV2ZW50VHlwZUluc3RhbmNl" + - "AQARMQEAETERMQAA/////xAAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAAC8VQ8AAC4ARLxVDwAAD///" + - "//8BAf////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAAC9VQ8AAC4ARL1VDwAAEf////8BAf//" + - "//8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAvlUPAAAuAES+VQ8AABH/////AQH/////AAAA" + - "ABVgiQoCAAAAAAAKAAAAU291cmNlTmFtZQIAAL9VDwAALgBEv1UPAAAM/////wEB/////wAAAAAVYIkK" + - "AgAAAAAABAAAAFRpbWUCAADAVQ8AAC4ARMBVDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAA" + - "AFJlY2VpdmVUaW1lAgAAwVUPAAAuAETBVQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABN" + - "ZXNzYWdlAgAAw1UPAAAuAETDVQ8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkC" + - "AADEVQ8AAC4ARMRVDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXAC" + - "AADJVQ8AAC4ARMlVDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIAAMpVDwAA" + - "LgBEylUPAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgAAy1UPAAAuAETLVQ8A" + - "AAz/////AQH/////AAAAABVgiQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgAAzFUPAAAuAETM" + - "VQ8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgAAzVUPAAAuAETNVQ8A" + - "AAz/////AQH/////AAAAABVgiQoCAAAAAAAIAAAATWV0aG9kSWQCAADOVQ8AAC4ARM5VDwAAEf////8B" + - "Af////8AAAAAF2CJCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAANBVDwAALgBE0FUPAAAYAQAAAAEA" + - "AAAAAAAAAQH/////AAAAABVgiQoCAAAAAAALAAAAVHJ1c3RMaXN0SWQBABl+AC4ARBl+AAAAEf////8B" + - "Af////8AAAAA"; - #endregion - #endif - #endregion + set + { + if (!Object.ReferenceEquals(m_confirmUpdateMethod, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_confirmUpdateMethod = value; + } + } - #region Public Properties /// - public PropertyState TrustListId + public ConfigurationFileCloseAndUpdateMethodState CloseAndUpdate { get { - return m_trustListId; + return m_closeAndUpdateMethod; } set { - if (!Object.ReferenceEquals(m_trustListId, value)) + if (!Object.ReferenceEquals(m_closeAndUpdateMethod, value)) { ChangeMasks |= NodeStateChangeMasks.Children; } - m_trustListId = value; + m_closeAndUpdateMethod = value; } } #endregion @@ -69212,9 +72081,34 @@ public override void GetChildren( ISystemContext context, IList children) { - if (m_trustListId != null) + if (m_lastUpdateTime != null) { - children.Add(m_trustListId); + children.Add(m_lastUpdateTime); + } + + if (m_currentVersion != null) + { + children.Add(m_currentVersion); + } + + if (m_activityTimeout != null) + { + children.Add(m_activityTimeout); + } + + if (m_supportedDataType != null) + { + children.Add(m_supportedDataType); + } + + if (m_confirmUpdateMethod != null) + { + children.Add(m_confirmUpdateMethod); + } + + if (m_closeAndUpdateMethod != null) + { + children.Add(m_closeAndUpdateMethod); } base.GetChildren(context, children); @@ -69236,24 +72130,129 @@ protected override BaseInstanceState FindChild( switch (browseName.Name) { - case Opc.Ua.BrowseNames.TrustListId: + case Opc.Ua.BrowseNames.LastUpdateTime: { if (createOrReplace) { - if (TrustListId == null) + if (LastUpdateTime == null) { if (replacement == null) { - TrustListId = new PropertyState(this); + LastUpdateTime = new PropertyState(this); } else { - TrustListId = (PropertyState)replacement; + LastUpdateTime = (PropertyState)replacement; } } } - instance = TrustListId; + instance = LastUpdateTime; + break; + } + + case Opc.Ua.BrowseNames.CurrentVersion: + { + if (createOrReplace) + { + if (CurrentVersion == null) + { + if (replacement == null) + { + CurrentVersion = new PropertyState(this); + } + else + { + CurrentVersion = (PropertyState)replacement; + } + } + } + + instance = CurrentVersion; + break; + } + + case Opc.Ua.BrowseNames.ActivityTimeout: + { + if (createOrReplace) + { + if (ActivityTimeout == null) + { + if (replacement == null) + { + ActivityTimeout = new PropertyState(this); + } + else + { + ActivityTimeout = (PropertyState)replacement; + } + } + } + + instance = ActivityTimeout; + break; + } + + case Opc.Ua.BrowseNames.SupportedDataType: + { + if (createOrReplace) + { + if (SupportedDataType == null) + { + if (replacement == null) + { + SupportedDataType = new PropertyState(this); + } + else + { + SupportedDataType = (PropertyState)replacement; + } + } + } + + instance = SupportedDataType; + break; + } + + case Opc.Ua.BrowseNames.ConfirmUpdate: + { + if (createOrReplace) + { + if (ConfirmUpdate == null) + { + if (replacement == null) + { + ConfirmUpdate = new ConfigurationFileConfirmUpdateMethodState(this); + } + else + { + ConfirmUpdate = (ConfigurationFileConfirmUpdateMethodState)replacement; + } + } + } + + instance = ConfirmUpdate; + break; + } + + case Opc.Ua.BrowseNames.CloseAndUpdate: + { + if (createOrReplace) + { + if (CloseAndUpdate == null) + { + if (replacement == null) + { + CloseAndUpdate = new ConfigurationFileCloseAndUpdateMethodState(this); + } + else + { + CloseAndUpdate = (ConfigurationFileCloseAndUpdateMethodState)replacement; + } + } + } + + instance = CloseAndUpdate; break; } } @@ -69268,29 +72267,34 @@ protected override BaseInstanceState FindChild( #endregion #region Private Fields - private PropertyState m_trustListId; + private PropertyState m_lastUpdateTime; + private PropertyState m_currentVersion; + private PropertyState m_activityTimeout; + private PropertyState m_supportedDataType; + private ConfigurationFileConfirmUpdateMethodState m_confirmUpdateMethod; + private ConfigurationFileCloseAndUpdateMethodState m_closeAndUpdateMethod; #endregion } #endif #endregion - #region UpdateCertificateMethodState Class - #if (!OPCUA_EXCLUDE_UpdateCertificateMethodState) + #region ConfigurationFileCloseAndUpdateMethodState Class + #if (!OPCUA_EXCLUDE_ConfigurationFileCloseAndUpdateMethodState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class UpdateCertificateMethodState : MethodState + public partial class ConfigurationFileCloseAndUpdateMethodState : MethodState { #region Constructors /// - public UpdateCertificateMethodState(NodeState parent) : base(parent) + public ConfigurationFileCloseAndUpdateMethodState(NodeState parent) : base(parent) { } /// public new static NodeState Construct(NodeState parent) { - return new UpdateCertificateMethodState(parent); + return new ConfigurationFileCloseAndUpdateMethodState(parent); } #if (!OPCUA_EXCLUDE_InitializationStrings) @@ -69310,22 +72314,25 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = - "//////////8EYYIKBAAAAAAAGwAAAFVwZGF0ZUNlcnRpZmljYXRlTWV0aG9kVHlwZQEAIjEALwEAIjEi" + - "MQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBACMxAC4ARCMxAACWBgAAAAEA" + - "KgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZp" + - "Y2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAENlcnRpZmljYXRlAA//////AAAAAAABACoB" + - "ASUAAAASAAAASXNzdWVyQ2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAqAQEfAAAAEAAAAFByaXZh" + - "dGVLZXlGb3JtYXQADP////8AAAAAAAEAKgEBGQAAAAoAAABQcml2YXRlS2V5AA//////AAAAAAABACgB" + - "AQAAAAEAAAAGAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQAkMQAuAEQk" + - "MQAAlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2VzUmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAA" + - "AQAAAAEAAAABAf////8AAAAA"; + "//////////8EYYIKBAAAAAAAKQAAAENvbmZpZ3VyYXRpb25GaWxlQ2xvc2VBbmRVcGRhdGVNZXRob2RU" + + "eXBlAQCZPAAvAQCZPJk8AAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAmjwA" + + "LgBEmjwAAJYFAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBIAAAAA8AAABW" + + "ZXJzaW9uVG9VcGRhdGUBAAZS/////wAAAAAAAQAqAQEcAAAABwAAAFRhcmdldHMBALI8AQAAAAEAAAAA" + + "AAAAAAEAKgEBIAAAAA8AAABSZXZlcnRBZnRlclRpbWUBACIB/////wAAAAAAAQAqAQEhAAAAEAAAAFJl" + + "c3RhcnREZWxheVRpbWUBACIB/////wAAAAAAAQAoAQEAAAABAAAABQAAAAEB/////wAAAAAXYKkKAgAA" + + "AAAADwAAAE91dHB1dEFyZ3VtZW50cwEAmzwALgBEmzwAAJYDAAAAAQAqAQEgAAAADQAAAFVwZGF0ZVJl" + + "c3VsdHMAEwEAAAABAAAAAAAAAAABACoBARsAAAAKAAAATmV3VmVyc2lvbgEABlL/////AAAAAAABACoB" + + "ARcAAAAIAAAAVXBkYXRlSWQADv////8AAAAAAAEAKAEBAAAAAQAAAAMAAAABAf////8AAAAA"; #endregion #endif #endregion #region Event Callbacks /// - public UpdateCertificateMethodStateMethodCallHandler OnCall; + public ConfigurationFileCloseAndUpdateMethodStateMethodCallHandler OnCall; + + /// + public ConfigurationFileCloseAndUpdateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -69339,6 +72346,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -69346,14 +72358,15 @@ protected override ServiceResult Call( ServiceResult _result = null; - NodeId certificateGroupId = (NodeId)_inputArguments[0]; - NodeId certificateTypeId = (NodeId)_inputArguments[1]; - byte[] certificate = (byte[])_inputArguments[2]; - byte[][] issuerCertificates = (byte[][])_inputArguments[3]; - string privateKeyFormat = (string)_inputArguments[4]; - byte[] privateKey = (byte[])_inputArguments[5]; + uint fileHandle = (uint)_inputArguments[0]; + uint versionToUpdate = (uint)_inputArguments[1]; + ConfigurationUpdateTargetType[] targets = (ConfigurationUpdateTargetType[])ExtensionObject.ToArray(_inputArguments[2], typeof(ConfigurationUpdateTargetType)); + double revertAfterTime = (double)_inputArguments[3]; + double restartDelayTime = (double)_inputArguments[4]; - bool applyChangesRequired = (bool)_outputArguments[0]; + StatusCode[] updateResults = (StatusCode[])_outputArguments[0]; + uint newVersion = (uint)_outputArguments[1]; + Uuid updateId = (Uuid)_outputArguments[2]; if (OnCall != null) { @@ -69361,138 +72374,71 @@ protected override ServiceResult Call( _context, this, _objectId, - certificateGroupId, - certificateTypeId, - certificate, - issuerCertificates, - privateKeyFormat, - privateKey, - ref applyChangesRequired); + fileHandle, + versionToUpdate, + targets, + revertAfterTime, + restartDelayTime, + ref updateResults, + ref newVersion, + ref updateId); } - _outputArguments[0] = applyChangesRequired; + _outputArguments[0] = updateResults; + _outputArguments[1] = newVersion; + _outputArguments[2] = updateId; return _result; } - #endregion - - #region Private Fields - #endregion - } - - /// - /// - public delegate ServiceResult UpdateCertificateMethodStateMethodCallHandler( - ISystemContext _context, - MethodState _method, - NodeId _objectId, - NodeId certificateGroupId, - NodeId certificateTypeId, - byte[] certificate, - byte[][] issuerCertificates, - string privateKeyFormat, - byte[] privateKey, - ref bool applyChangesRequired); - #endif - #endregion - - #region CreateSigningRequestMethodState Class - #if (!OPCUA_EXCLUDE_CreateSigningRequestMethodState) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class CreateSigningRequestMethodState : MethodState - { - #region Constructors - /// - public CreateSigningRequestMethodState(NodeState parent) : base(parent) - { - } - - /// - public new static NodeState Construct(NodeState parent) - { - return new CreateSigningRequestMethodState(parent); - } - - #if (!OPCUA_EXCLUDE_InitializationStrings) - /// - protected override void Initialize(ISystemContext context) - { - base.Initialize(context); - Initialize(context, InitializationString); - InitializeOptionalChildren(context); - } - - /// - protected override void InitializeOptionalChildren(ISystemContext context) - { - base.InitializeOptionalChildren(context); - } - - #region Initialization String - private const string InitializationString = - "//////////8EYYIKBAAAAAAAHgAAAENyZWF0ZVNpZ25pbmdSZXF1ZXN0TWV0aG9kVHlwZQEAxTEALwEA" + - "xTHFMQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAMYxAC4ARMYxAACWBQAA" + - "AAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0" + - "aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAFN1YmplY3ROYW1lAAz/////AAAAAAAB" + - "ACoBASMAAAAUAAAAUmVnZW5lcmF0ZVByaXZhdGVLZXkAAf////8AAAAAAAEAKgEBFAAAAAUAAABOb25j" + - "ZQAP/////wAAAAAAAQAoAQEAAAABAAAABQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFy" + - "Z3VtZW50cwEAxzEALgBExzEAAJYBAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlUmVxdWVzdAAP////" + - "/wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAA="; - #endregion - #endif - #endregion - #region Event Callbacks - /// - public CreateSigningRequestMethodStateMethodCallHandler OnCall; - #endregion - - #region Public Properties - #endregion - - #region Overridden Methods + #if (OPCUA_INCLUDE_ASYNC) /// - protected override ServiceResult Call( + protected override async ValueTask CallAsync( ISystemContext _context, NodeId _objectId, IList _inputArguments, - IList _outputArguments) + IList _outputArguments, + CancellationToken cancellationToken = default) { - if (OnCall == null) + if (OnCall == null && OnCallAsync == null) { - return base.Call(_context, _objectId, _inputArguments, _outputArguments); + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); } - ServiceResult _result = null; - - NodeId certificateGroupId = (NodeId)_inputArguments[0]; - NodeId certificateTypeId = (NodeId)_inputArguments[1]; - string subjectName = (string)_inputArguments[2]; - bool regeneratePrivateKey = (bool)_inputArguments[3]; - byte[] nonce = (byte[])_inputArguments[4]; + ConfigurationFileCloseAndUpdateMethodStateResult _result = null; - byte[] certificateRequest = (byte[])_outputArguments[0]; + uint fileHandle = (uint)_inputArguments[0]; + uint versionToUpdate = (uint)_inputArguments[1]; + ConfigurationUpdateTargetType[] targets = (ConfigurationUpdateTargetType[])ExtensionObject.ToArray(_inputArguments[2], typeof(ConfigurationUpdateTargetType)); + double revertAfterTime = (double)_inputArguments[3]; + double restartDelayTime = (double)_inputArguments[4]; - if (OnCall != null) + if (OnCallAsync != null) { - _result = OnCall( + _result = await OnCallAsync( _context, this, _objectId, - certificateGroupId, - certificateTypeId, - subjectName, - regeneratePrivateKey, - nonce, - ref certificateRequest); + fileHandle, + versionToUpdate, + targets, + revertAfterTime, + restartDelayTime, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); } - _outputArguments[0] = certificateRequest; + _outputArguments[0] = _result.UpdateResults; + _outputArguments[1] = _result.NewVersion; + _outputArguments[2] = _result.UpdateId; - return _result; + return _result.ServiceResult; } + #endif + #endregion #region Private Fields @@ -69501,36 +72447,66 @@ protected override ServiceResult Call( /// /// - public delegate ServiceResult CreateSigningRequestMethodStateMethodCallHandler( + public delegate ServiceResult ConfigurationFileCloseAndUpdateMethodStateMethodCallHandler( ISystemContext _context, MethodState _method, NodeId _objectId, - NodeId certificateGroupId, - NodeId certificateTypeId, - string subjectName, - bool regeneratePrivateKey, - byte[] nonce, - ref byte[] certificateRequest); + uint fileHandle, + uint versionToUpdate, + ConfigurationUpdateTargetType[] targets, + double revertAfterTime, + double restartDelayTime, + ref StatusCode[] updateResults, + ref uint newVersion, + ref Uuid updateId); + + /// + /// + public partial class ConfigurationFileCloseAndUpdateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] UpdateResults { get; set; } + /// + public uint NewVersion { get; set; } + /// + public Uuid UpdateId { get; set; } + } + + + /// + /// + public delegate ValueTask ConfigurationFileCloseAndUpdateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + uint versionToUpdate, + ConfigurationUpdateTargetType[] targets, + double revertAfterTime, + double restartDelayTime, + CancellationToken cancellationToken); #endif #endregion - #region GetRejectedListMethodState Class - #if (!OPCUA_EXCLUDE_GetRejectedListMethodState) + #region ConfigurationFileConfirmUpdateMethodState Class + #if (!OPCUA_EXCLUDE_ConfigurationFileConfirmUpdateMethodState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class GetRejectedListMethodState : MethodState + public partial class ConfigurationFileConfirmUpdateMethodState : MethodState { #region Constructors /// - public GetRejectedListMethodState(NodeState parent) : base(parent) + public ConfigurationFileConfirmUpdateMethodState(NodeState parent) : base(parent) { } /// public new static NodeState Construct(NodeState parent) { - return new GetRejectedListMethodState(parent); + return new ConfigurationFileConfirmUpdateMethodState(parent); } #if (!OPCUA_EXCLUDE_InitializationStrings) @@ -69550,17 +72526,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = - "//////////8EYYIKBAAAAAAAGQAAAEdldFJlamVjdGVkTGlzdE1ldGhvZFR5cGUBAOUxAC8BAOUx5TEA" + - "AAEB/////wEAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEA5jEALgBE5jEAAJYBAAAAAQAq" + - "AQEfAAAADAAAAENlcnRpZmljYXRlcwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + - "AAAA"; + "//////////8EYYIKBAAAAAAAKAAAAENvbmZpZ3VyYXRpb25GaWxlQ29uZmlybVVwZGF0ZU1ldGhvZFR5" + + "cGUBAJw8AC8BAJw8nDwAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCwPAAu" + + "AESwPAAAlgEAAAABACoBARcAAAAIAAAAVXBkYXRlSWQADv////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + + "Af////8AAAAA"; #endregion #endif #endregion #region Event Callbacks /// - public GetRejectedListMethodStateMethodCallHandler OnCall; + public ConfigurationFileConfirmUpdateMethodStateMethodCallHandler OnCall; + + /// + public ConfigurationFileConfirmUpdateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -69574,6 +72553,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -69581,7 +72565,7 @@ protected override ServiceResult Call( ServiceResult _result = null; - byte[][] certificates = (byte[][])_outputArguments[0]; + Uuid updateId = (Uuid)_inputArguments[0]; if (OnCall != null) { @@ -69589,13 +72573,48 @@ protected override ServiceResult Call( _context, this, _objectId, - ref certificates); + updateId); } - _outputArguments[0] = certificates; - return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ConfigurationFileConfirmUpdateMethodStateResult _result = null; + + Uuid updateId = (Uuid)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + updateId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -69604,31 +72623,49 @@ protected override ServiceResult Call( /// /// - public delegate ServiceResult GetRejectedListMethodStateMethodCallHandler( + public delegate ServiceResult ConfigurationFileConfirmUpdateMethodStateMethodCallHandler( ISystemContext _context, MethodState _method, NodeId _objectId, - ref byte[][] certificates); + Uuid updateId); + + /// + /// + public partial class ConfigurationFileConfirmUpdateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ConfigurationFileConfirmUpdateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + Uuid updateId, + CancellationToken cancellationToken); #endif #endregion - #region GetCertificatesMethodState Class - #if (!OPCUA_EXCLUDE_GetCertificatesMethodState) + #region ConfigurationUpdatedAuditEventState Class + #if (!OPCUA_EXCLUDE_ConfigurationUpdatedAuditEventState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class GetCertificatesMethodState : MethodState + public partial class ConfigurationUpdatedAuditEventState : AuditEventState { #region Constructors /// - public GetCertificatesMethodState(NodeState parent) : base(parent) + public ConfigurationUpdatedAuditEventState(NodeState parent) : base(parent) { } /// - public new static NodeState Construct(NodeState parent) + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) { - return new GetCertificatesMethodState(parent); + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ConfigurationUpdatedAuditEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); } #if (!OPCUA_EXCLUDE_InitializationStrings) @@ -69640,6 +72677,13 @@ protected override void Initialize(ISystemContext context) InitializeOptionalChildren(context); } + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + /// protected override void InitializeOptionalChildren(ISystemContext context) { @@ -69648,38 +72692,1402 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = - "//////////8EYYIKBAAAAAAAGQAAAEdldENlcnRpZmljYXRlc01ldGhvZFR5cGUBABp+AC8BABp+Gn4A" + - "AAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQAbfgAuAEQbfgAAlgEAAAABACoB" + - "ASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQAcfgAuAEQcfgAAlgIAAAABACoBASUAAAAS" + - "AAAAQ2VydGlmaWNhdGVUeXBlSWRzABEBAAAAAQAAAAAAAAAAAQAqAQEfAAAADAAAAENlcnRpZmljYXRl" + - "cwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAA"; + "//////////8EYIACAQAAAAAAKgAAAENvbmZpZ3VyYXRpb25VcGRhdGVkQXVkaXRFdmVudFR5cGVJbnN0" + + "YW5jZQEAtTwBALU8tTwAAP////8PAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAvFUPAAAuAES8VQ8A" + + "AA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAvVUPAAAuAES9VQ8AABH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAL5VDwAALgBEvlUPAAAR/////wEB////" + + "/wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAAC/VQ8AAC4ARL9VDwAADP////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAQAAABUaW1lAgAAwFUPAAAuAETAVQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + + "AAsAAABSZWNlaXZlVGltZQIAAMFVDwAALgBEwVUPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAH" + + "AAAATWVzc2FnZQIAAMNVDwAALgBEw1UPAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVy" + + "aXR5AgAAxFUPAAAuAETEVQ8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0" + + "YW1wAgAAyVUPAAAuAETJVQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAADK" + + "VQ8AAC4ARMpVDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAMtVDwAALgBE" + + "y1UPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIAAMxVDwAA" + + "LgBEzFUPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAAM1VDwAALgBE" + + "zVUPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAE9sZFZlcnNpb24BALY8AC4ARLY8AAABAAZS" + + "/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAE5ld1ZlcnNpb24BALc8AC4ARLc8AAABAAZS/////wEB" + + "/////wAAAAA="; #endregion #endif #endregion - #region Event Callbacks - /// - public GetCertificatesMethodStateMethodCallHandler OnCall; - #endregion - #region Public Properties - #endregion - - #region Overridden Methods /// - protected override ServiceResult Call( - ISystemContext _context, - NodeId _objectId, - IList _inputArguments, - IList _outputArguments) + public PropertyState OldVersion { - if (OnCall == null) + get { - return base.Call(_context, _objectId, _inputArguments, _outputArguments); + return m_oldVersion; } - ServiceResult _result = null; + set + { + if (!Object.ReferenceEquals(m_oldVersion, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_oldVersion = value; + } + } + + /// + public PropertyState NewVersion + { + get + { + return m_newVersion; + } + + set + { + if (!Object.ReferenceEquals(m_newVersion, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_newVersion = value; + } + } + #endregion + + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_oldVersion != null) + { + children.Add(m_oldVersion); + } + + if (m_newVersion != null) + { + children.Add(m_newVersion); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.OldVersion: + { + if (createOrReplace) + { + if (OldVersion == null) + { + if (replacement == null) + { + OldVersion = new PropertyState(this); + } + else + { + OldVersion = (PropertyState)replacement; + } + } + } + + instance = OldVersion; + break; + } + + case Opc.Ua.BrowseNames.NewVersion: + { + if (createOrReplace) + { + if (NewVersion == null) + { + if (replacement == null) + { + NewVersion = new PropertyState(this); + } + else + { + NewVersion = (PropertyState)replacement; + } + } + } + + instance = NewVersion; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_oldVersion; + private PropertyState m_newVersion; + #endregion + } + #endif + #endregion + + #region TrustListUpdateRequestedAuditEventState Class + #if (!OPCUA_EXCLUDE_TrustListUpdateRequestedAuditEventState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class TrustListUpdateRequestedAuditEventState : AuditUpdateMethodEventState + { + #region Constructors + /// + public TrustListUpdateRequestedAuditEventState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TrustListUpdateRequestedAuditEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAALgAAAFRydXN0TGlzdFVwZGF0ZVJlcXVlc3RlZEF1ZGl0RXZlbnRUeXBl" + + "SW5zdGFuY2UBAAR+AQAEfgR+AAD/////DwAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAM5VDwAALgBE" + + "zlUPAAAP/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAM9VDwAALgBEz1UPAAAR" + + "/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAADQVQ8AAC4ARNBVDwAAEf////8B" + + "Af////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAA0VUPAAAuAETRVQ8AAAz/////AQH/////" + + "AAAAABVgiQoCAAAAAAAEAAAAVGltZQIAANJVDwAALgBE0lUPAAEAJgH/////AQH/////AAAAABVgiQoC" + + "AAAAAAALAAAAUmVjZWl2ZVRpbWUCAADTVQ8AAC4ARNNVDwABACYB/////wEB/////wAAAAAVYIkKAgAA" + + "AAAABwAAAE1lc3NhZ2UCAADVVQ8AAC4ARNVVDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABT" + + "ZXZlcml0eQIAANZVDwAALgBE1lUPAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGlvblRp" + + "bWVTdGFtcAIAANtVDwAALgBE21UPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAGAAAAU3RhdHVz" + + "AgAA3FUPAAAuAETcVQ8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2VydmVySWQCAADdVQ8A" + + "AC4ARN1VDwAADP////8BAf////8AAAAAFWCJCgIAAAAAABIAAABDbGllbnRBdWRpdEVudHJ5SWQCAADe" + + "VQ8AAC4ARN5VDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQCAADfVQ8A" + + "AC4ARN9VDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABNZXRob2RJZAIAAOBVDwAALgBE4FUP" + + "AAAR/////wEB/////wAAAAAXYIkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAA4lUPAAAuAETiVQ8A" + + "ABgBAAAAAQAAAAAAAAABAf////8AAAAA"; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region TrustListUpdatedAuditEventState Class + #if (!OPCUA_EXCLUDE_TrustListUpdatedAuditEventState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class TrustListUpdatedAuditEventState : AuditUpdateMethodEventState + { + #region Constructors + /// + public TrustListUpdatedAuditEventState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.TrustListUpdatedAuditEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAJgAAAFRydXN0TGlzdFVwZGF0ZWRBdWRpdEV2ZW50VHlwZUluc3RhbmNl" + + "AQARMQEAETERMQAA/////xAAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAADkVQ8AAC4ARORVDwAAD///" + + "//8BAf////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAADlVQ8AAC4AROVVDwAAEf////8BAf//" + + "//8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAA5lUPAAAuAETmVQ8AABH/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAKAAAAU291cmNlTmFtZQIAAOdVDwAALgBE51UPAAAM/////wEB/////wAAAAAVYIkK" + + "AgAAAAAABAAAAFRpbWUCAADoVQ8AAC4AROhVDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAA" + + "AFJlY2VpdmVUaW1lAgAA6VUPAAAuAETpVQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABN" + + "ZXNzYWdlAgAA61UPAAAuAETrVQ8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkC" + + "AADsVQ8AAC4AROxVDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXAC" + + "AADxVQ8AAC4ARPFVDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIAAPJVDwAA" + + "LgBE8lUPAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgAA81UPAAAuAETzVQ8A" + + "AAz/////AQH/////AAAAABVgiQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgAA9FUPAAAuAET0" + + "VQ8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgAA9VUPAAAuAET1VQ8A" + + "AAz/////AQH/////AAAAABVgiQoCAAAAAAAIAAAATWV0aG9kSWQCAAD2VQ8AAC4ARPZVDwAAEf////8B" + + "Af////8AAAAAF2CJCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAPhVDwAALgBE+FUPAAAYAQAAAAEA" + + "AAAAAAAAAQH/////AAAAABVgiQoCAAAAAAALAAAAVHJ1c3RMaXN0SWQBABl+AC4ARBl+AAAAEf////8B" + + "Af////8AAAAA"; + #endregion + #endif + #endregion + + #region Public Properties + /// + public PropertyState TrustListId + { + get + { + return m_trustListId; + } + + set + { + if (!Object.ReferenceEquals(m_trustListId, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_trustListId = value; + } + } + #endregion + + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_trustListId != null) + { + children.Add(m_trustListId); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.TrustListId: + { + if (createOrReplace) + { + if (TrustListId == null) + { + if (replacement == null) + { + TrustListId = new PropertyState(this); + } + else + { + TrustListId = (PropertyState)replacement; + } + } + } + + instance = TrustListId; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_trustListId; + #endregion + } + #endif + #endregion + + #region UpdateCertificateMethodState Class + #if (!OPCUA_EXCLUDE_UpdateCertificateMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class UpdateCertificateMethodState : MethodState + { + #region Constructors + /// + public UpdateCertificateMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new UpdateCertificateMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAGwAAAFVwZGF0ZUNlcnRpZmljYXRlTWV0aG9kVHlwZQEAIjEALwEAIjEi" + + "MQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBACMxAC4ARCMxAACWBgAAAAEA" + + "KgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZp" + + "Y2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAENlcnRpZmljYXRlAA//////AAAAAAABACoB" + + "ASUAAAASAAAASXNzdWVyQ2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAqAQEfAAAAEAAAAFByaXZh" + + "dGVLZXlGb3JtYXQADP////8AAAAAAAEAKgEBGQAAAAoAAABQcml2YXRlS2V5AA//////AAAAAAABACgB" + + "AQAAAAEAAAAGAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQAkMQAuAEQk" + + "MQAAlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2VzUmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAA" + + "AQAAAAEAAAABAf////8AAAAA"; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public UpdateCertificateMethodStateMethodCallHandler OnCall; + + /// + public UpdateCertificateMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + byte[] certificate = (byte[])_inputArguments[2]; + byte[][] issuerCertificates = (byte[][])_inputArguments[3]; + string privateKeyFormat = (string)_inputArguments[4]; + byte[] privateKey = (byte[])_inputArguments[5]; + + bool applyChangesRequired = (bool)_outputArguments[0]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + certificate, + issuerCertificates, + privateKeyFormat, + privateKey, + ref applyChangesRequired); + } + + _outputArguments[0] = applyChangesRequired; + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + UpdateCertificateMethodStateResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + byte[] certificate = (byte[])_inputArguments[2]; + byte[][] issuerCertificates = (byte[][])_inputArguments[3]; + string privateKeyFormat = (string)_inputArguments[4]; + byte[] privateKey = (byte[])_inputArguments[5]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + certificate, + issuerCertificates, + privateKeyFormat, + privateKey, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ApplyChangesRequired; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult UpdateCertificateMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + byte[] certificate, + byte[][] issuerCertificates, + string privateKeyFormat, + byte[] privateKey, + ref bool applyChangesRequired); + + /// + /// + public partial class UpdateCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public bool ApplyChangesRequired { get; set; } + } + + + /// + /// + public delegate ValueTask UpdateCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + byte[] certificate, + byte[][] issuerCertificates, + string privateKeyFormat, + byte[] privateKey, + CancellationToken cancellationToken); + #endif + #endregion + + #region CreateSigningRequestMethodState Class + #if (!OPCUA_EXCLUDE_CreateSigningRequestMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class CreateSigningRequestMethodState : MethodState + { + #region Constructors + /// + public CreateSigningRequestMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new CreateSigningRequestMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAHgAAAENyZWF0ZVNpZ25pbmdSZXF1ZXN0TWV0aG9kVHlwZQEAxTEALwEA" + + "xTHFMQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAMYxAC4ARMYxAACWBQAA" + + "AAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0" + + "aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAFN1YmplY3ROYW1lAAz/////AAAAAAAB" + + "ACoBASMAAAAUAAAAUmVnZW5lcmF0ZVByaXZhdGVLZXkAAf////8AAAAAAAEAKgEBFAAAAAUAAABOb25j" + + "ZQAP/////wAAAAAAAQAoAQEAAAABAAAABQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFy" + + "Z3VtZW50cwEAxzEALgBExzEAAJYBAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlUmVxdWVzdAAP////" + + "/wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAA="; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public CreateSigningRequestMethodStateMethodCallHandler OnCall; + + /// + public CreateSigningRequestMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + string subjectName = (string)_inputArguments[2]; + bool regeneratePrivateKey = (bool)_inputArguments[3]; + byte[] nonce = (byte[])_inputArguments[4]; + + byte[] certificateRequest = (byte[])_outputArguments[0]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + subjectName, + regeneratePrivateKey, + nonce, + ref certificateRequest); + } + + _outputArguments[0] = certificateRequest; + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CreateSigningRequestMethodStateResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + string subjectName = (string)_inputArguments[2]; + bool regeneratePrivateKey = (bool)_inputArguments[3]; + byte[] nonce = (byte[])_inputArguments[4]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + subjectName, + regeneratePrivateKey, + nonce, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CertificateRequest; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult CreateSigningRequestMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + string subjectName, + bool regeneratePrivateKey, + byte[] nonce, + ref byte[] certificateRequest); + + /// + /// + public partial class CreateSigningRequestMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] CertificateRequest { get; set; } + } + + + /// + /// + public delegate ValueTask CreateSigningRequestMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + string subjectName, + bool regeneratePrivateKey, + byte[] nonce, + CancellationToken cancellationToken); + #endif + #endregion + + #region CreateSelfSignedCertificateMethodState Class + #if (!OPCUA_EXCLUDE_CreateSelfSignedCertificateMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class CreateSelfSignedCertificateMethodState : MethodState + { + #region Constructors + /// + public CreateSelfSignedCertificateMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new CreateSelfSignedCertificateMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAJQAAAENyZWF0ZVNlbGZTaWduZWRDZXJ0aWZpY2F0ZU1ldGhvZFR5cGUB" + + "AH9LAC8BAH9Lf0sAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCASwAuAESA" + + "SwAAlgcAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////AAAAAAABACoBASAAAAAR" + + "AAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAAAAEAKgEBGgAAAAsAAABTdWJqZWN0TmFtZQAM////" + + "/wAAAAAAAQAqAQEbAAAACAAAAERuc05hbWVzAAwBAAAAAQAAAAAAAAAAAQAqAQEeAAAACwAAAElwQWRk" + + "cmVzc2VzAAwBAAAAAQAAAAAAAAAAAQAqAQEdAAAADgAAAExpZmV0aW1lSW5EYXlzAAX/////AAAAAAAB" + + "ACoBARwAAAANAAAAS2V5U2l6ZUluQml0cwAF/////wAAAAAAAQAoAQEAAAABAAAABwAAAAEB/////wAA" + + "AAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEAgUsALgBEgUsAAJYBAAAAAQAqAQEaAAAACwAA" + + "AENlcnRpZmljYXRlAA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAA=="; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public CreateSelfSignedCertificateMethodStateMethodCallHandler OnCall; + + /// + public CreateSelfSignedCertificateMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + string subjectName = (string)_inputArguments[2]; + string[] dnsNames = (string[])_inputArguments[3]; + string[] ipAddresses = (string[])_inputArguments[4]; + ushort lifetimeInDays = (ushort)_inputArguments[5]; + ushort keySizeInBits = (ushort)_inputArguments[6]; + + byte[] certificate = (byte[])_outputArguments[0]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + subjectName, + dnsNames, + ipAddresses, + lifetimeInDays, + keySizeInBits, + ref certificate); + } + + _outputArguments[0] = certificate; + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CreateSelfSignedCertificateMethodStateResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + string subjectName = (string)_inputArguments[2]; + string[] dnsNames = (string[])_inputArguments[3]; + string[] ipAddresses = (string[])_inputArguments[4]; + ushort lifetimeInDays = (ushort)_inputArguments[5]; + ushort keySizeInBits = (ushort)_inputArguments[6]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + subjectName, + dnsNames, + ipAddresses, + lifetimeInDays, + keySizeInBits, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Certificate; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult CreateSelfSignedCertificateMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + string subjectName, + string[] dnsNames, + string[] ipAddresses, + ushort lifetimeInDays, + ushort keySizeInBits, + ref byte[] certificate); + + /// + /// + public partial class CreateSelfSignedCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] Certificate { get; set; } + } + + + /// + /// + public delegate ValueTask CreateSelfSignedCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + string subjectName, + string[] dnsNames, + string[] ipAddresses, + ushort lifetimeInDays, + ushort keySizeInBits, + CancellationToken cancellationToken); + #endif + #endregion + + #region DeleteCertificateMethodState Class + #if (!OPCUA_EXCLUDE_DeleteCertificateMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class DeleteCertificateMethodState : MethodState + { + #region Constructors + /// + public DeleteCertificateMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new DeleteCertificateMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAGwAAAERlbGV0ZUNlcnRpZmljYXRlTWV0aG9kVHlwZQEAgksALwEAgkuC" + + "SwAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAINLAC4ARINLAACWAgAAAAEA" + + "KgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZp" + + "Y2F0ZVR5cGVJZAAR/////wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAA="; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public DeleteCertificateMethodStateMethodCallHandler OnCall; + + /// + public DeleteCertificateMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId); + } + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DeleteCertificateMethodStateResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + NodeId certificateTypeId = (NodeId)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificateGroupId, + certificateTypeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult DeleteCertificateMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId); + + /// + /// + public partial class DeleteCertificateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask DeleteCertificateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + NodeId certificateTypeId, + CancellationToken cancellationToken); + #endif + #endregion + + #region GetRejectedListMethodState Class + #if (!OPCUA_EXCLUDE_GetRejectedListMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class GetRejectedListMethodState : MethodState + { + #region Constructors + /// + public GetRejectedListMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new GetRejectedListMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAGQAAAEdldFJlamVjdGVkTGlzdE1ldGhvZFR5cGUBAOUxAC8BAOUx5TEA" + + "AAEB/////wEAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEA5jEALgBE5jEAAJYBAAAAAQAq" + + "AQEfAAAADAAAAENlcnRpZmljYXRlcwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + + "AAAA"; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public GetRejectedListMethodStateMethodCallHandler OnCall; + + /// + public GetRejectedListMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + byte[][] certificates = (byte[][])_outputArguments[0]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + ref certificates); + } + + _outputArguments[0] = certificates; + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetRejectedListMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Certificates; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult GetRejectedListMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ref byte[][] certificates); + + /// + /// + public partial class GetRejectedListMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[][] Certificates { get; set; } + } + + + /// + /// + public delegate ValueTask GetRejectedListMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); + #endif + #endregion + + #region GetCertificatesMethodState Class + #if (!OPCUA_EXCLUDE_GetCertificatesMethodState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class GetCertificatesMethodState : MethodState + { + #region Constructors + /// + public GetCertificatesMethodState(NodeState parent) : base(parent) + { + } + + /// + public new static NodeState Construct(NodeState parent) + { + return new GetCertificatesMethodState(parent); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAGQAAAEdldENlcnRpZmljYXRlc01ldGhvZFR5cGUBABp+AC8BABp+Gn4A" + + "AAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQAbfgAuAEQbfgAAlgEAAAABACoB" + + "ASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + + "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQAcfgAuAEQcfgAAlgIAAAABACoBASUAAAAS" + + "AAAAQ2VydGlmaWNhdGVUeXBlSWRzABEBAAAAAQAAAAAAAAAAAQAqAQEfAAAADAAAAENlcnRpZmljYXRl" + + "cwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAA"; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public GetCertificatesMethodStateMethodCallHandler OnCall; + + /// + public GetCertificatesMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; NodeId certificateGroupId = (NodeId)_inputArguments[0]; @@ -69702,6 +74110,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetCertificatesMethodStateResult _result = null; + + NodeId certificateGroupId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + certificateGroupId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CertificateTypeIds; + _outputArguments[1] = _result.Certificates; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -69717,6 +74165,28 @@ public delegate ServiceResult GetCertificatesMethodStateMethodCallHandler( NodeId certificateGroupId, ref NodeId[] certificateTypeIds, ref byte[][] certificates); + + /// + /// + public partial class GetCertificatesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId[] CertificateTypeIds { get; set; } + /// + public byte[][] Certificates { get; set; } + } + + + /// + /// + public delegate ValueTask GetCertificatesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId certificateGroupId, + CancellationToken cancellationToken); #endif #endregion @@ -69946,129 +74416,698 @@ protected override BaseInstanceState FindChild( switch (browseName.Name) { - case Opc.Ua.BrowseNames.StartTime: + case Opc.Ua.BrowseNames.StartTime: + { + if (createOrReplace) + { + if (StartTime == null) + { + if (replacement == null) + { + StartTime = new PropertyState(this); + } + else + { + StartTime = (PropertyState)replacement; + } + } + } + + instance = StartTime; + break; + } + + case Opc.Ua.BrowseNames.EndTime: + { + if (createOrReplace) + { + if (EndTime == null) + { + if (replacement == null) + { + EndTime = new PropertyState(this); + } + else + { + EndTime = (PropertyState)replacement; + } + } + } + + instance = EndTime; + break; + } + + case Opc.Ua.BrowseNames.Result: + { + if (createOrReplace) + { + if (Result == null) + { + if (replacement == null) + { + Result = new PropertyState(this); + } + else + { + Result = (PropertyState)replacement; + } + } + } + + instance = Result; + break; + } + + case Opc.Ua.BrowseNames.AffectedTrustLists: + { + if (createOrReplace) + { + if (AffectedTrustLists == null) + { + if (replacement == null) + { + AffectedTrustLists = new PropertyState(this); + } + else + { + AffectedTrustLists = (PropertyState)replacement; + } + } + } + + instance = AffectedTrustLists; + break; + } + + case Opc.Ua.BrowseNames.AffectedCertificateGroups: + { + if (createOrReplace) + { + if (AffectedCertificateGroups == null) + { + if (replacement == null) + { + AffectedCertificateGroups = new PropertyState(this); + } + else + { + AffectedCertificateGroups = (PropertyState)replacement; + } + } + } + + instance = AffectedCertificateGroups; + break; + } + + case Opc.Ua.BrowseNames.Errors: + { + if (createOrReplace) + { + if (Errors == null) + { + if (replacement == null) + { + Errors = new PropertyState(this); + } + else + { + Errors = (PropertyState)replacement; + } + } + } + + instance = Errors; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_startTime; + private PropertyState m_endTime; + private PropertyState m_result; + private PropertyState m_affectedTrustLists; + private PropertyState m_affectedCertificateGroups; + private PropertyState m_errors; + #endregion + } + #endif + #endregion + + #region ApplicationConfigurationFolderState Class + #if (!OPCUA_EXCLUDE_ApplicationConfigurationFolderState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class ApplicationConfigurationFolderState : FolderState + { + #region Constructors + /// + public ApplicationConfigurationFolderState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ApplicationConfigurationFolderType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAKgAAAEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkZvbGRlclR5cGVJbnN0" + + "YW5jZQEAFkEBABZBFkEAAP////8AAAAA"; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region ApplicationConfigurationFileState Class + #if (!OPCUA_EXCLUDE_ApplicationConfigurationFileState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class ApplicationConfigurationFileState : ConfigurationFileState + { + #region Constructors + /// + public ApplicationConfigurationFileState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ApplicationConfigurationFileType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAKAAAAEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkZpbGVUeXBlSW5zdGFu" + + "Y2UBAL48AQC+PL48AAD/////GAAAABVgiQoCAAAAAAAEAAAAU2l6ZQIAAK5aDwAALgBErloPAAAJ////" + + "/wEB/////wAAAAAVYIkKAgAAAAAACAAAAFdyaXRhYmxlAgAAr1oPAAAuAESvWg8AAAH/////AQH/////" + + "AAAAABVgiQoCAAAAAAAMAAAAVXNlcldyaXRhYmxlAgAAsFoPAAAuAESwWg8AAAH/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAJAAAAT3BlbkNvdW50AgAAsVoPAAAuAESxWg8AAAX/////AQH/////AAAAAARhggoE" + + "AAAAAAAEAAAAT3BlbgIAALVaDwAALwEAPC21Wg8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRB" + + "cmd1bWVudHMCAAC2Wg8AAC4ARLZaDwCWAQAAAAEAKgEBEwAAAAQAAABNb2RlAAP/////AAAAAAABACgB" + + "AQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAt1oPAAAu" + + "AES3Wg8AlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + + "AAEB/////wAAAAAEYYIKBAAAAAAABQAAAENsb3NlAgAAuFoPAAAvAQA/LbhaDwABAf////8BAAAAF2Cp" + + "CgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAALlaDwAALgBEuVoPAJYBAAAAAQAqAQEZAAAACgAAAEZp" + + "bGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAQAAABS" + + "ZWFkAgAAuloPAAAvAQBBLbpaDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIA" + + "ALtaDwAALgBEu1oPAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBFQAA" + + "AAYAAABMZW5ndGgABv////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8A" + + "AABPdXRwdXRBcmd1bWVudHMCAAC8Wg8AAC4ARLxaDwCWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//////" + + "AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUCAAC9Wg8AAC8B" + + "AEQtvVoPAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAvloPAAAuAES+Wg8A" + + "lgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQETAAAABAAAAERhdGEAD///" + + "//8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgIA" + + "AL9aDwAALwEARi2/Wg8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADAWg8A" + + "AC4ARMBaDwCWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAAB" + + "AAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAwVoPAAAuAETBWg8AlgEA" + + "AAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAA" + + "BGGCCgQAAAAAAAsAAABTZXRQb3NpdGlvbgIAAMJaDwAALwEASS3CWg8AAQH/////AQAAABdgqQoCAAAA" + + "AAAOAAAASW5wdXRBcmd1bWVudHMCAADDWg8AAC4ARMNaDwCWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFu" + + "ZGxlAAf/////AAAAAAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAIA" + + "AAABAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VXBkYXRlVGltZQIAAMRaDwAALgBExFoPAAEAJgH/" + + "////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ3VycmVudFZlcnNpb24CAADFWg8AAC4ARMVaDwABAAZS" + + "/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGl2aXR5VGltZW91dAIAAMZaDwAALgBExloPAAEA" + + "IgH/////AQH/////AAAAABVgiQoCAAAAAAARAAAAU3VwcG9ydGVkRGF0YVR5cGUCAADHWg8AAC4ARMda" + + "DwAAEf////8BAf////8AAAAABGGCCgQAAAAAAA0AAABDb25maXJtVXBkYXRlAgAAyFoPAAAvAQCUPMha" + + "DwABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAMlaDwAALgBEyVoPAJYBAAAA" + + "AQAqAQEXAAAACAAAAFVwZGF0ZUlkAA7/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARh" + + "ggoEAAAAAAAOAAAAQ2xvc2VBbmRVcGRhdGUCAADKWg8AAC8BAJE8yloPAAEB/////wIAAAAXYKkKAgAA" + + "AAAADgAAAElucHV0QXJndW1lbnRzAgAAy1oPAAAuAETLWg8AlgUAAAABACoBARkAAAAKAAAARmlsZUhh" + + "bmRsZQAH/////wAAAAAAAQAqAQEgAAAADwAAAFZlcnNpb25Ub1VwZGF0ZQEABlL/////AAAAAAABACoB" + + "ARwAAAAHAAAAVGFyZ2V0cwEAsjwBAAAAAQAAAAAAAAAAAQAqAQEgAAAADwAAAFJldmVydEFmdGVyVGlt" + + "ZQEAIgH/////AAAAAAABACoBASEAAAAQAAAAUmVzdGFydERlbGF5VGltZQEAIgH/////AAAAAAABACgB" + + "AQAAAAEAAAAFAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAzFoPAAAu" + + "AETMWg8AlgMAAAABACoBASAAAAANAAAAVXBkYXRlUmVzdWx0cwATAQAAAAEAAAAAAAAAAAEAKgEBGwAA" + + "AAoAAABOZXdWZXJzaW9uAQAGUv////8AAAAAAAEAKgEBFwAAAAgAAABVcGRhdGVJZAAO/////wAAAAAA" + + "AQAoAQEAAAABAAAAAwAAAAEB/////wAAAAAXYIkKAgAAAAAAEQAAAEF2YWlsYWJsZU5ldHdvcmtzAQC/" + + "PAAuAES/PAAAAAwBAAAAAQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAAAA4AAABBdmFpbGFibGVQb3J0" + + "cwEAwDwALgBEwDwAAAEAIwH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAATWF4RW5kcG9pbnRzAQDW" + + "SwAuAETWSwAAAAX/////AQH/////AAAAABVgiQoCAAAAAAAUAAAATWF4Q2VydGlmaWNhdGVHcm91cHMB" + + "ANdLAC4ARNdLAAAABf////8BAf////8AAAAAF2CJCgIAAAAAABIAAABTZWN1cml0eVBvbGljeVVyaXMB" + + "AME8AC4ARME8AAABAMdcAQAAAAEAAAAAAAAAAQH/////AAAAABdgiQoCAAAAAAAOAAAAVXNlclRva2Vu" + + "VHlwZXMBAMI8AC4ARMI8AAABADABAQAAAAEAAAAAAAAAAQH/////AAAAABdgiQoCAAAAAAAQAAAAQ2Vy" + + "dGlmaWNhdGVUeXBlcwEAwzwALgBEwzwAAAARAQAAAAEAAAAAAAAAAQH/////AAAAABdgiQoCAAAAAAAY" + + "AAAAQ2VydGlmaWNhdGVHcm91cFB1cnBvc2VzAQDYSwAuAETYSwAAABEBAAAAAQAAAAAAAAABAf////8A" + + "AAAA"; + #endregion + #endif + #endregion + + #region Public Properties + /// + public PropertyState AvailableNetworks + { + get + { + return m_availableNetworks; + } + + set + { + if (!Object.ReferenceEquals(m_availableNetworks, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_availableNetworks = value; + } + } + + /// + public PropertyState AvailablePorts + { + get + { + return m_availablePorts; + } + + set + { + if (!Object.ReferenceEquals(m_availablePorts, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_availablePorts = value; + } + } + + /// + public PropertyState MaxEndpoints + { + get + { + return m_maxEndpoints; + } + + set + { + if (!Object.ReferenceEquals(m_maxEndpoints, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_maxEndpoints = value; + } + } + + /// + public PropertyState MaxCertificateGroups + { + get + { + return m_maxCertificateGroups; + } + + set + { + if (!Object.ReferenceEquals(m_maxCertificateGroups, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_maxCertificateGroups = value; + } + } + + /// + public PropertyState SecurityPolicyUris + { + get + { + return m_securityPolicyUris; + } + + set + { + if (!Object.ReferenceEquals(m_securityPolicyUris, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_securityPolicyUris = value; + } + } + + /// + public PropertyState UserTokenTypes + { + get + { + return m_userTokenTypes; + } + + set + { + if (!Object.ReferenceEquals(m_userTokenTypes, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_userTokenTypes = value; + } + } + + /// + public PropertyState CertificateTypes + { + get + { + return m_certificateTypes; + } + + set + { + if (!Object.ReferenceEquals(m_certificateTypes, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_certificateTypes = value; + } + } + + /// + public PropertyState CertificateGroupPurposes + { + get + { + return m_certificateGroupPurposes; + } + + set + { + if (!Object.ReferenceEquals(m_certificateGroupPurposes, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_certificateGroupPurposes = value; + } + } + #endregion + + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_availableNetworks != null) + { + children.Add(m_availableNetworks); + } + + if (m_availablePorts != null) + { + children.Add(m_availablePorts); + } + + if (m_maxEndpoints != null) + { + children.Add(m_maxEndpoints); + } + + if (m_maxCertificateGroups != null) + { + children.Add(m_maxCertificateGroups); + } + + if (m_securityPolicyUris != null) + { + children.Add(m_securityPolicyUris); + } + + if (m_userTokenTypes != null) + { + children.Add(m_userTokenTypes); + } + + if (m_certificateTypes != null) + { + children.Add(m_certificateTypes); + } + + if (m_certificateGroupPurposes != null) + { + children.Add(m_certificateGroupPurposes); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.AvailableNetworks: { if (createOrReplace) { - if (StartTime == null) + if (AvailableNetworks == null) { if (replacement == null) { - StartTime = new PropertyState(this); + AvailableNetworks = new PropertyState(this); } else { - StartTime = (PropertyState)replacement; + AvailableNetworks = (PropertyState)replacement; } } } - instance = StartTime; + instance = AvailableNetworks; break; } - case Opc.Ua.BrowseNames.EndTime: + case Opc.Ua.BrowseNames.AvailablePorts: { if (createOrReplace) { - if (EndTime == null) + if (AvailablePorts == null) { if (replacement == null) { - EndTime = new PropertyState(this); + AvailablePorts = new PropertyState(this); } else { - EndTime = (PropertyState)replacement; + AvailablePorts = (PropertyState)replacement; } } } - instance = EndTime; + instance = AvailablePorts; break; } - case Opc.Ua.BrowseNames.Result: + case Opc.Ua.BrowseNames.MaxEndpoints: { if (createOrReplace) { - if (Result == null) + if (MaxEndpoints == null) { if (replacement == null) { - Result = new PropertyState(this); + MaxEndpoints = new PropertyState(this); } else { - Result = (PropertyState)replacement; + MaxEndpoints = (PropertyState)replacement; } } } - instance = Result; + instance = MaxEndpoints; break; } - case Opc.Ua.BrowseNames.AffectedTrustLists: + case Opc.Ua.BrowseNames.MaxCertificateGroups: { if (createOrReplace) { - if (AffectedTrustLists == null) + if (MaxCertificateGroups == null) { if (replacement == null) { - AffectedTrustLists = new PropertyState(this); + MaxCertificateGroups = new PropertyState(this); } else { - AffectedTrustLists = (PropertyState)replacement; + MaxCertificateGroups = (PropertyState)replacement; } } } - instance = AffectedTrustLists; + instance = MaxCertificateGroups; break; } - case Opc.Ua.BrowseNames.AffectedCertificateGroups: + case Opc.Ua.BrowseNames.SecurityPolicyUris: { if (createOrReplace) { - if (AffectedCertificateGroups == null) + if (SecurityPolicyUris == null) { if (replacement == null) { - AffectedCertificateGroups = new PropertyState(this); + SecurityPolicyUris = new PropertyState(this); } else { - AffectedCertificateGroups = (PropertyState)replacement; + SecurityPolicyUris = (PropertyState)replacement; } } } - instance = AffectedCertificateGroups; + instance = SecurityPolicyUris; break; } - case Opc.Ua.BrowseNames.Errors: + case Opc.Ua.BrowseNames.UserTokenTypes: { if (createOrReplace) { - if (Errors == null) + if (UserTokenTypes == null) { if (replacement == null) { - Errors = new PropertyState(this); + UserTokenTypes = new PropertyState(this); } else { - Errors = (PropertyState)replacement; + UserTokenTypes = (PropertyState)replacement; } } } - instance = Errors; + instance = UserTokenTypes; + break; + } + + case Opc.Ua.BrowseNames.CertificateTypes: + { + if (createOrReplace) + { + if (CertificateTypes == null) + { + if (replacement == null) + { + CertificateTypes = new PropertyState(this); + } + else + { + CertificateTypes = (PropertyState)replacement; + } + } + } + + instance = CertificateTypes; + break; + } + + case Opc.Ua.BrowseNames.CertificateGroupPurposes: + { + if (createOrReplace) + { + if (CertificateGroupPurposes == null) + { + if (replacement == null) + { + CertificateGroupPurposes = new PropertyState(this); + } + else + { + CertificateGroupPurposes = (PropertyState)replacement; + } + } + } + + instance = CertificateGroupPurposes; break; } } @@ -70083,73 +75122,14 @@ protected override BaseInstanceState FindChild( #endregion #region Private Fields - private PropertyState m_startTime; - private PropertyState m_endTime; - private PropertyState m_result; - private PropertyState m_affectedTrustLists; - private PropertyState m_affectedCertificateGroups; - private PropertyState m_errors; - #endregion - } - #endif - #endregion - - #region ApplicationConfigurationFolderState Class - #if (!OPCUA_EXCLUDE_ApplicationConfigurationFolderState) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class ApplicationConfigurationFolderState : FolderState - { - #region Constructors - /// - public ApplicationConfigurationFolderState(NodeState parent) : base(parent) - { - } - - /// - protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) - { - return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ApplicationConfigurationFolderType, Opc.Ua.Namespaces.OpcUa, namespaceUris); - } - - #if (!OPCUA_EXCLUDE_InitializationStrings) - /// - protected override void Initialize(ISystemContext context) - { - base.Initialize(context); - Initialize(context, InitializationString); - InitializeOptionalChildren(context); - } - - /// - protected override void Initialize(ISystemContext context, NodeState source) - { - InitializeOptionalChildren(context); - base.Initialize(context, source); - } - - /// - protected override void InitializeOptionalChildren(ISystemContext context) - { - base.InitializeOptionalChildren(context); - } - - #region Initialization String - private const string InitializationString = - "//////////8EYIACAQAAAAAAKgAAAEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkZvbGRlclR5cGVJbnN0" + - "YW5jZQEAFkEBABZBFkEAAP////8AAAAA"; - #endregion - #endif - #endregion - - #region Public Properties - #endregion - - #region Overridden Methods - #endregion - - #region Private Fields + private PropertyState m_availableNetworks; + private PropertyState m_availablePorts; + private PropertyState m_maxEndpoints; + private PropertyState m_maxCertificateGroups; + private PropertyState m_securityPolicyUris; + private PropertyState m_userTokenTypes; + private PropertyState m_certificateTypes; + private PropertyState m_certificateGroupPurposes; #endregion } #endif @@ -70230,6 +75210,16 @@ protected override void InitializeOptionalChildren(ISystemContext context) InApplicationSetup.Initialize(context, InApplicationSetup_InitializationString); } + if (CreateSelfSignedCertificate != null) + { + CreateSelfSignedCertificate.Initialize(context, CreateSelfSignedCertificate_InitializationString); + } + + if (DeleteCertificate != null) + { + DeleteCertificate.Initialize(context, DeleteCertificate_InitializationString); + } + if (GetCertificates != null) { GetCertificates.Initialize(context, GetCertificates_InitializationString); @@ -70249,6 +75239,11 @@ protected override void InitializeOptionalChildren(ISystemContext context) { TransactionDiagnostics.Initialize(context, TransactionDiagnostics_InitializationString); } + + if (ConfigurationFile != null) + { + ConfigurationFile.Initialize(context, ConfigurationFile_InitializationString); + } } #region Initialization String @@ -70280,6 +75275,23 @@ protected override void InitializeOptionalChildren(ISystemContext context) "//////////8VYIkKAgAAAAAAEgAAAEluQXBwbGljYXRpb25TZXR1cAEAbEsALgBEbEsAAAAB/////wEB" + "/////wAAAAA="; + private const string CreateSelfSignedCertificate_InitializationString = + "//////////8EYYIKBAAAAAAAGwAAAENyZWF0ZVNlbGZTaWduZWRDZXJ0aWZpY2F0ZQEAiUsALwEAiUuJ" + + "SwAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAIpLAC4ARIpLAACWBwAAAAEA" + + "KgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZp" + + "Y2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAFN1YmplY3ROYW1lAAz/////AAAAAAABACoB" + + "ARsAAAAIAAAARG5zTmFtZXMADAEAAAABAAAAAAAAAAABACoBAR4AAAALAAAASXBBZGRyZXNzZXMADAEA" + + "AAABAAAAAAAAAAABACoBAR0AAAAOAAAATGlmZXRpbWVJbkRheXMABf////8AAAAAAAEAKgEBHAAAAA0A" + + "AABLZXlTaXplSW5CaXRzAAX/////AAAAAAABACgBAQAAAAEAAAAHAAAAAQH/////AAAAABdgqQoCAAAA" + + "AAAPAAAAT3V0cHV0QXJndW1lbnRzAQCLSwAuAESLSwAAlgEAAAABACoBARoAAAALAAAAQ2VydGlmaWNh" + + "dGUAD/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAA"; + + private const string DeleteCertificate_InitializationString = + "//////////8EYYIKBAAAAAAAEQAAAERlbGV0ZUNlcnRpZmljYXRlAQCMSwAvAQCMS4xLAAABAf////8B" + + "AAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAjUsALgBEjUsAAJYCAAAAAQAqAQEhAAAAEgAA" + + "AENlcnRpZmljYXRlR3JvdXBJZAAR/////wAAAAAAAQAqAQEgAAAAEQAAAENlcnRpZmljYXRlVHlwZUlk" + + "ABH/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAAA=="; + private const string GetCertificates_InitializationString = "//////////8EYYIKBAAAAAAADwAAAEdldENlcnRpZmljYXRlcwEAKH4ALwEAKH4ofgAAAQH/////AgAA" + "ABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBACl+AC4ARCl+AACWAQAAAAEAKgEBIQAAABIAAABD" + @@ -70304,122 +75316,216 @@ protected override void InitializeOptionalChildren(ISystemContext context) "QWZmZWN0ZWRDZXJ0aWZpY2F0ZUdyb3VwcwEAMH4ALgBEMH4AAAARAQAAAAEAAAAAAAAAAQH/////AAAA" + "ABdgiQoCAAAAAAAGAAAARXJyb3JzAQAxfgAuAEQxfgAAAQAdfgEAAAABAAAAAAAAAAEB/////wAAAAA="; + private const string ConfigurationFile_InitializationString = + "//////////8EYIAKAQAAAAAAEQAAAENvbmZpZ3VyYXRpb25GaWxlAQDMPAAvAQC+PMw8AAD/////GAAA" + + "ABVgiQoCAAAAAAAEAAAAU2l6ZQEAzTwALgBEzTwAAAAJ/////wEB/////wAAAAAVYIkKAgAAAAAACAAA" + + "AFdyaXRhYmxlAQDOPAAuAETOPAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAVXNlcldyaXRh" + + "YmxlAQDPPAAuAETPPAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAAT3BlbkNvdW50AQDQPAAu" + + "AETQPAAAAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAAT3BlbgEA1DwALwEAPC3UPAAAAQH/////" + + "AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBANU8AC4ARNU8AACWAQAAAAEAKgEBEwAAAAQA" + + "AABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0" + + "cHV0QXJndW1lbnRzAQDWPAAuAETWPAAAlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAA" + + "AAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAENsb3NlAQDXPAAvAQA/Ldc8" + + "AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEArj0ALgBErj0AAJYBAAAAAQAq" + + "AQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGC" + + "CgQAAAAAAAQAAABSZWFkAQCvPQAvAQBBLa89AAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + + "Z3VtZW50cwEAsD0ALgBEsD0AAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEA" + + "KgEBFQAAAAYAAABMZW5ndGgABv////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIA" + + "AAAAAA8AAABPdXRwdXRBcmd1bWVudHMBALw9AC4ARLw9AACWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//" + + "////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUBAL09AC8B" + + "AEQtvT0AAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQC+PQAuAES+PQAAlgIA" + + "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQETAAAABAAAAERhdGEAD/////8A" + + "AAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgEAvz0A" + + "LwEARi2/PQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAMA9AC4ARMA9AACW" + + "AQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + + "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQDBPQAuAETBPQAAlgEAAAABACoBARcAAAAI" + + "AAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAsA" + + "AABTZXRQb3NpdGlvbgEAwj0ALwEASS3CPQAAAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1" + + "bWVudHMBAMM9AC4ARMM9AACWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoB" + + "ARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAFWCJCgIA" + + "AAAAAA4AAABMYXN0VXBkYXRlVGltZQEAxD0ALgBExD0AAAEAJgH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAOAAAAQ3VycmVudFZlcnNpb24BAMU9AC4ARMU9AAABAAZS/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "DwAAAEFjdGl2aXR5VGltZW91dAEAxj0ALgBExj0AAAEAIgH/////AQH/////AAAAABVgiQoCAAAAAAAR" + + "AAAAU3VwcG9ydGVkRGF0YVR5cGUBAOg9AC4AROg9AAAAEf////8BAf////8AAAAABGGCCgQAAAAAAA0A" + + "AABDb25maXJtVXBkYXRlAQD3PQAvAQCUPPc9AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + + "Z3VtZW50cwEA+D0ALgBE+D0AAJYBAAAAAQAqAQEXAAAACAAAAFVwZGF0ZUlkAA7/////AAAAAAABACgB" + + "AQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAOAAAAQ2xvc2VBbmRVcGRhdGUBAOk9AC8BAJE8" + + "6T0AAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQDqPQAuAETqPQAAlgUAAAAB" + + "ACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQEgAAAADwAAAFZlcnNpb25Ub1VwZGF0" + + "ZQEABlL/////AAAAAAABACoBARwAAAAHAAAAVGFyZ2V0cwEAsjwBAAAAAQAAAAAAAAAAAQAqAQEgAAAA" + + "DwAAAFJldmVydEFmdGVyVGltZQEAIgH/////AAAAAAABACoBASEAAAAQAAAAUmVzdGFydERlbGF5VGlt" + + "ZQEAIgH/////AAAAAAABACgBAQAAAAEAAAAFAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0" + + "QXJndW1lbnRzAQDrPQAuAETrPQAAlgMAAAABACoBASAAAAANAAAAVXBkYXRlUmVzdWx0cwATAQAAAAEA" + + "AAAAAAAAAAEAKgEBGwAAAAoAAABOZXdWZXJzaW9uAQAGUv////8AAAAAAAEAKgEBFwAAAAgAAABVcGRh" + + "dGVJZAAO/////wAAAAAAAQAoAQEAAAABAAAAAwAAAAEB/////wAAAAAXYIkKAgAAAAAAEQAAAEF2YWls" + + "YWJsZU5ldHdvcmtzAQAGQQAuAEQGQQAAAAwBAAAAAQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAAAA4A" + + "AABBdmFpbGFibGVQb3J0cwEAB0EALgBEB0EAAAEAIwH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAA" + + "TWF4RW5kcG9pbnRzAQDcSwAuAETcSwAAAAX/////AQH/////AAAAABVgiQoCAAAAAAAUAAAATWF4Q2Vy" + + "dGlmaWNhdGVHcm91cHMBAN1LAC4ARN1LAAAABf////8BAf////8AAAAAF2CJCgIAAAAAABIAAABTZWN1" + + "cml0eVBvbGljeVVyaXMBAAhBAC4ARAhBAAABAMdcAQAAAAEAAAAAAAAAAQH/////AAAAABdgiQoCAAAA" + + "AAAOAAAAVXNlclRva2VuVHlwZXMBAAlBAC4ARAlBAAABADABAQAAAAEAAAAAAAAAAQH/////AAAAABdg" + + "iQoCAAAAAAAQAAAAQ2VydGlmaWNhdGVUeXBlcwEACkEALgBECkEAAAARAQAAAAEAAAAAAAAAAQH/////" + + "AAAAABdgiQoCAAAAAAAYAAAAQ2VydGlmaWNhdGVHcm91cFB1cnBvc2VzAQDeSwAuAETeSwAAABEBAAAA" + + "AQAAAAAAAAABAf////8AAAAA"; + private const string InitializationString = "//////////8EYIACAQAAAAAAHwAAAFNlcnZlckNvbmZpZ3VyYXRpb25UeXBlSW5zdGFuY2UBACUxAQAl" + - "MSUxAAD/////FAAAAARggAoBAAAAAAARAAAAQ2VydGlmaWNhdGVHcm91cHMBAH42AC8BAPU1fjYAAP//" + - "//8BAAAABGCACgEAAAAAABcAAABEZWZhdWx0QXBwbGljYXRpb25Hcm91cAEAfzYALwEACzF/NgAAAQAA" + - "AAEALiMAAQCpMwIAAAAEYIAKAQAAAAAACQAAAFRydXN0TGlzdAEAgDYALwEA6jCANgAA/////w8AAAAV" + - "YIkKAgAAAAAABAAAAFNpemUBAIE2AC4ARIE2AAAACf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABX" + - "cml0YWJsZQEAgjYALgBEgjYAAAAB/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAFVzZXJXcml0YWJs" + - "ZQEAgzYALgBEgzYAAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAE9wZW5Db3VudAEAhDYALgBE" + - "hDYAAAAF/////wEB/////wAAAAAEYYIKBAAAAAAABAAAAE9wZW4BAIY2AC8BADwthjYAAAEB/////wIA" + - "AAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCHNgAuAESHNgAAlgEAAAABACoBARMAAAAEAAAA" + - "TW9kZQAD/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1" + - "dEFyZ3VtZW50cwEAiDYALgBEiDYAAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAA" + - "AAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAUAAABDbG9zZQEAiTYALwEAPy2JNgAA" + - "AQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAIo2AC4ARIo2AACWAQAAAAEAKgEB" + - "GQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoE" + - "AAAAAAAEAAAAUmVhZAEAizYALwEAQS2LNgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1" + - "bWVudHMBAIw2AC4ARIw2AACWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoB" + - "ARUAAAAGAAAATGVuZ3RoAAb/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgqQoCAAAA" + - "AAAPAAAAT3V0cHV0QXJndW1lbnRzAQCNNgAuAESNNgAAlgEAAAABACoBARMAAAAEAAAARGF0YQAP////" + - "/wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAFdyaXRlAQCONgAvAQBE" + - "LY42AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAjzYALgBEjzYAAJYCAAAA" + - "AQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBEwAAAAQAAABEYXRhAA//////AAAA" + - "AAABACgBAQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAAALAAAAR2V0UG9zaXRpb24BAJA2AC8B" + - "AEYtkDYAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCRNgAuAESRNgAAlgEA" + - "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAA" + - "AAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEAkjYALgBEkjYAAJYBAAAAAQAqAQEXAAAACAAA" + - "AFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAALAAAA" + - "U2V0UG9zaXRpb24BAJM2AC8BAEktkzYAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1l" + - "bnRzAQCUNgAuAESUNgAAlgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQEX" + - "AAAACAAAAFBvc2l0aW9uAAn/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABVgiQoCAAAA" + - "AAAOAAAATGFzdFVwZGF0ZVRpbWUBAJU2AC4ARJU2AAABACYB/////wEB/////wAAAAAEYYIKBAAAAAAA" + - "DQAAAE9wZW5XaXRoTWFza3MBAJY2AC8BAP8wljYAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0" + - "QXJndW1lbnRzAQCXNgAuAESXNgAAlgEAAAABACoBARQAAAAFAAAATWFza3MAB/////8AAAAAAAEAKAEB" + - "AAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAJg2AC4ARJg2" + + "MSUxAAD/////FwAAABVgiQoCAAAAAAAOAAAAQXBwbGljYXRpb25VcmkBAGBkAC4ARGBkAAABAMdc////" + + "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFByb2R1Y3RVcmkBAHxkAC4ARHxkAAABAMdc/////wEB////" + + "/wAAAAAVYIkKAgAAAAAADwAAAEFwcGxpY2F0aW9uVHlwZQEAYWQALgBEYWQAAAEAMwH/////AQH/////" + + "AAAAABdgiQoCAAAAAAAQAAAAQXBwbGljYXRpb25OYW1lcwEA5EgALgBE5EgAAAAVAQAAAAEAAAAAAAAA" + + "AQH/////AAAAABdgiQoCAAAAAAASAAAAU2VydmVyQ2FwYWJpbGl0aWVzAQCkMQAuAESkMQAAAAwBAAAA" + + "AQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAABoAAABTdXBwb3J0ZWRQcml2YXRlS2V5Rm9ybWF0cwEA" + + "JzEALgBEJzEAAAAMAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAAQAAAATWF4VHJ1c3RMaXN0" + + "U2l6ZQEAKDEALgBEKDEAAAAH/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAE11bHRpY2FzdERuc0Vu" + + "YWJsZWQBACkxAC4ARCkxAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABIYXNTZWN1cmVFbGVt" + + "ZW50AQApXAAuAEQpXAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAUAAAAU3VwcG9ydHNUcmFuc2Fj" + + "dGlvbnMBAOVIAC4AROVIAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAABIAAABJbkFwcGxpY2F0aW9u" + + "U2V0dXABAGxLAC4ARGxLAAAAAf////8BAf////8AAAAABGGCCgQAAAAAABEAAABVcGRhdGVDZXJ0aWZp" + + "Y2F0ZQEASDEALwEASDFIMQAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAEkx" + + "AC4AREkxAACWBgAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEB" + + "IAAAABEAAABDZXJ0aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAENlcnRpZmljYXRl" + + "AA//////AAAAAAABACoBASUAAAASAAAASXNzdWVyQ2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAq" + + "AQEfAAAAEAAAAFByaXZhdGVLZXlGb3JtYXQADP////8AAAAAAAEAKgEBGQAAAAoAAABQcml2YXRlS2V5" + + "AA//////AAAAAAABACgBAQAAAAEAAAAGAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJn" + + "dW1lbnRzAQBKMQAuAERKMQAAlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2VzUmVxdWlyZWQAAf//" + + "//8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAABsAAABDcmVhdGVTZWxmU2ln" + + "bmVkQ2VydGlmaWNhdGUBAIlLAC8BAIlLiUsAAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJn" + + "dW1lbnRzAQCKSwAuAESKSwAAlgcAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////" + + "AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAAAAEAKgEBGgAAAAsAAABT" + + "dWJqZWN0TmFtZQAM/////wAAAAAAAQAqAQEbAAAACAAAAERuc05hbWVzAAwBAAAAAQAAAAAAAAAAAQAq" + + "AQEeAAAACwAAAElwQWRkcmVzc2VzAAwBAAAAAQAAAAAAAAAAAQAqAQEdAAAADgAAAExpZmV0aW1lSW5E" + + "YXlzAAX/////AAAAAAABACoBARwAAAANAAAAS2V5U2l6ZUluQml0cwAF/////wAAAAAAAQAoAQEAAAAB" + + "AAAABwAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEAi0sALgBEi0sAAJYB" + + "AAAAAQAqAQEaAAAACwAAAENlcnRpZmljYXRlAA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + + "AAAAAARhggoEAAAAAAARAAAARGVsZXRlQ2VydGlmaWNhdGUBAIxLAC8BAIxLjEsAAAEB/////wEAAAAX" + + "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCNSwAuAESNSwAAlgIAAAABACoBASEAAAASAAAAQ2Vy" + + "dGlmaWNhdGVHcm91cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf//" + + "//8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAA8AAABHZXRDZXJ0aWZpY2F0" + + "ZXMBACh+AC8BACh+KH4AAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQApfgAu" + + "AEQpfgAAlgEAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVHcm91cElkABH/////AAAAAAABACgBAQAA" + + "AAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQAqfgAuAEQqfgAA" + + "lgIAAAABACoBASUAAAASAAAAQ2VydGlmaWNhdGVUeXBlSWRzABEBAAAAAQAAAAAAAAAAAQAqAQEfAAAA" + + "DAAAAENlcnRpZmljYXRlcwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGC" + + "CgQAAAAAAAwAAABBcHBseUNoYW5nZXMBAL4xAC8BAL4xvjEAAAEB/////wAAAAAEYYIKBAAAAAAADQAA" + + "AENhbmNlbENoYW5nZXMBAGJkAC8BAGJkYmQAAAEB/////wAAAAAEYYIKBAAAAAAAFAAAAENyZWF0ZVNp" + + "Z25pbmdSZXF1ZXN0AQC7MQAvAQC7MbsxAAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3Vt" + + "ZW50cwEAvDEALgBEvDEAAJYFAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJZAAR/////wAA" + + "AAAAAQAqAQEgAAAAEQAAAENlcnRpZmljYXRlVHlwZUlkABH/////AAAAAAABACoBARoAAAALAAAAU3Vi" + + "amVjdE5hbWUADP////8AAAAAAAEAKgEBIwAAABQAAABSZWdlbmVyYXRlUHJpdmF0ZUtleQAB/////wAA" + + "AAAAAQAqAQEUAAAABQAAAE5vbmNlAA//////AAAAAAABACgBAQAAAAEAAAAFAAAAAQH/////AAAAABdg" + + "qQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQC9MQAuAES9MQAAlgEAAAABACoBASEAAAASAAAAQ2Vy" + + "dGlmaWNhdGVSZXF1ZXN0AA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAA" + + "AAAPAAAAR2V0UmVqZWN0ZWRMaXN0AQDnMQAvAQDnMecxAAABAf////8BAAAAF2CpCgIAAAAAAA8AAABP" + + "dXRwdXRBcmd1bWVudHMBAOgxAC4AROgxAACWAQAAAAEAKgEBHwAAAAwAAABDZXJ0aWZpY2F0ZXMADwEA" + + "AAABAAAAAAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAVAAAAUmVzZXRUb1Nl" + + "cnZlckRlZmF1bHRzAQBjZAAvAQBjZGNkAAABAf////8AAAAABGCACgEAAAAAABEAAABDZXJ0aWZpY2F0" + + "ZUdyb3VwcwEAfjYALwEA9TV+NgAA/////wEAAAAEYIAKAQAAAAAAFwAAAERlZmF1bHRBcHBsaWNhdGlv" + + "bkdyb3VwAQB/NgAvAQALMX82AAABAAAAAQAuIwABAKkzAgAAAARggAoBAAAAAAAJAAAAVHJ1c3RMaXN0" + + "AQCANgAvAQDqMIA2AAD/////DwAAABVgiQoCAAAAAAAEAAAAU2l6ZQEAgTYALgBEgTYAAAAJ/////wEB" + + "/////wAAAAAVYIkKAgAAAAAACAAAAFdyaXRhYmxlAQCCNgAuAESCNgAAAAH/////AQH/////AAAAABVg" + + "iQoCAAAAAAAMAAAAVXNlcldyaXRhYmxlAQCDNgAuAESDNgAAAAH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAJAAAAT3BlbkNvdW50AQCENgAuAESENgAAAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAAT3Bl" + + "bgEAhjYALwEAPC2GNgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAIc2AC4A" + + "RIc2AACWAQAAAAEAKgEBEwAAAAQAAABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + + "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQCINgAuAESINgAAlgEAAAABACoBARkAAAAK" + + "AAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAA" + + "BQAAAENsb3NlAQCJNgAvAQA/LYk2AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50" + + "cwEAijYALgBEijYAAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAA" + + "AQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAQAAABSZWFkAQCLNgAvAQBBLYs2AAABAf////8CAAAA" + + "F2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAjDYALgBEjDYAAJYCAAAAAQAqAQEZAAAACgAAAEZp" + + "bGVIYW5kbGUAB/////8AAAAAAAEAKgEBFQAAAAYAAABMZW5ndGgABv////8AAAAAAAEAKAEBAAAAAQAA" + + "AAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAI02AC4ARI02AACWAQAA" + + "AAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoE" + + "AAAAAAAFAAAAV3JpdGUBAI42AC8BAEQtjjYAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJn" + + "dW1lbnRzAQCPNgAuAESPNgAAlgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAq" + + "AQETAAAABAAAAERhdGEAD/////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAA" + + "AAsAAABHZXRQb3NpdGlvbgEAkDYALwEARi2QNgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRB" + + "cmd1bWVudHMBAJE2AC4ARJE2AACWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAAB" + + "ACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQCSNgAu" + + "AESSNgAAlgEAAAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + + "Af////8AAAAABGGCCgQAAAAAAAsAAABTZXRQb3NpdGlvbgEAkzYALwEASS2TNgAAAQH/////AQAAABdg" + + "qQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAJQ2AC4ARJQ2AACWAgAAAAEAKgEBGQAAAAoAAABGaWxl" + + "SGFuZGxlAAf/////AAAAAAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAA" + + "AAIAAAABAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VXBkYXRlVGltZQEAlTYALgBElTYAAAEAJgH/" + + "////AQH/////AAAAAARhggoEAAAAAAANAAAAT3BlbldpdGhNYXNrcwEAljYALwEA/zCWNgAAAQH/////" + + "AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAJc2AC4ARJc2AACWAQAAAAEAKgEBFAAAAAUA" + + "AABNYXNrcwAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91" + + "dHB1dEFyZ3VtZW50cwEAmDYALgBEmDYAAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8A" + + "AAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAA4AAABDbG9zZUFuZFVwZGF0ZQEA" + + "mTYALwEAAjGZNgAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAJo2AC4ARJo2" + "AACWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/" + - "////AAAAAARhggoEAAAAAAAOAAAAQ2xvc2VBbmRVcGRhdGUBAJk2AC8BAAIxmTYAAAEB/////wIAAAAX" + - "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCaNgAuAESaNgAAlgEAAAABACoBARkAAAAKAAAARmls" + - "ZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91" + - "dHB1dEFyZ3VtZW50cwEAmzYALgBEmzYAAJYBAAAAAQAqAQEjAAAAFAAAAEFwcGx5Q2hhbmdlc1JlcXVp" + - "cmVkAAH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAOAAAAQWRkQ2Vy" + - "dGlmaWNhdGUBAJw2AC8BAAQxnDYAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRz" + - "AQCdNgAuAESdNgAAlgIAAAABACoBARoAAAALAAAAQ2VydGlmaWNhdGUAD/////8AAAAAAAEAKgEBIwAA" + - "ABQAAABJc1RydXN0ZWRDZXJ0aWZpY2F0ZQAB/////wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAA" + - "AAAEYYIKBAAAAAAAEQAAAFJlbW92ZUNlcnRpZmljYXRlAQCeNgAvAQAGMZ42AAABAf////8BAAAAF2Cp" + - "CgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAnzYALgBEnzYAAJYCAAAAAQAqAQEZAAAACgAAAFRodW1i" + - "cHJpbnQADP////8AAAAAAAEAKgEBIwAAABQAAABJc1RydXN0ZWRDZXJ0aWZpY2F0ZQAB/////wAAAAAA" + - "AQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAXYIkKAgAAAAAAEAAAAENlcnRpZmljYXRlVHlwZXMBAKA2" + - "AC4ARKA2AAAAEQEAAAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAADgAAAEFwcGxpY2F0aW9uVXJp" + - "AQBgZAAuAERgZAAAAQDHXP////8BAf////8AAAAAFWCJCgIAAAAAAAoAAABQcm9kdWN0VXJpAQB8ZAAu" + - "AER8ZAAAAQDHXP////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBcHBsaWNhdGlvblR5cGUBAGFkAC4A" + - "RGFkAAABADMB/////wEB/////wAAAAAXYIkKAgAAAAAAEAAAAEFwcGxpY2F0aW9uTmFtZXMBAORIAC4A" + - "RORIAAAAFQEAAAABAAAAAAAAAAEB/////wAAAAAXYIkKAgAAAAAAEgAAAFNlcnZlckNhcGFiaWxpdGll" + - "cwEApDEALgBEpDEAAAAMAQAAAAEAAAAAAAAAAQH/////AAAAABdgiQoCAAAAAAAaAAAAU3VwcG9ydGVk" + - "UHJpdmF0ZUtleUZvcm1hdHMBACcxAC4ARCcxAAAADAEAAAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAA" + - "AAAAEAAAAE1heFRydXN0TGlzdFNpemUBACgxAC4ARCgxAAAAB/////8BAf////8AAAAAFWCJCgIAAAAA" + - "ABMAAABNdWx0aWNhc3REbnNFbmFibGVkAQApMQAuAEQpMQAAAAH/////AQH/////AAAAABVgiQoCAAAA" + - "AAAQAAAASGFzU2VjdXJlRWxlbWVudAEAKVwALgBEKVwAAAAB/////wEB/////wAAAAAVYIkKAgAAAAAA" + - "FAAAAFN1cHBvcnRzVHJhbnNhY3Rpb25zAQDlSAAuAETlSAAAAAH/////AQH/////AAAAABVgiQoCAAAA" + - "AAASAAAASW5BcHBsaWNhdGlvblNldHVwAQBsSwAuAERsSwAAAAH/////AQH/////AAAAAARhggoEAAAA" + - "AAARAAAAVXBkYXRlQ2VydGlmaWNhdGUBAEgxAC8BAEgxSDEAAAEB/////wIAAAAXYKkKAgAAAAAADgAA" + - "AElucHV0QXJndW1lbnRzAQBJMQAuAERJMQAAlgYAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVHcm91" + - "cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAAAAEAKgEB" + - "GgAAAAsAAABDZXJ0aWZpY2F0ZQAP/////wAAAAAAAQAqAQElAAAAEgAAAElzc3VlckNlcnRpZmljYXRl" + - "cwAPAQAAAAEAAAAAAAAAAAEAKgEBHwAAABAAAABQcml2YXRlS2V5Rm9ybWF0AAz/////AAAAAAABACoB" + - "ARkAAAAKAAAAUHJpdmF0ZUtleQAP/////wAAAAAAAQAoAQEAAAABAAAABgAAAAEB/////wAAAAAXYKkK" + - "AgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEASjEALgBESjEAAJYBAAAAAQAqAQEjAAAAFAAAAEFwcGx5" + - "Q2hhbmdlc1JlcXVpcmVkAAH/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAA" + - "AAAPAAAAR2V0Q2VydGlmaWNhdGVzAQAofgAvAQAofih+AAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJ" + - "bnB1dEFyZ3VtZW50cwEAKX4ALgBEKX4AAJYBAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJ" + - "ZAAR/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFy" + - "Z3VtZW50cwEAKn4ALgBEKn4AAJYCAAAAAQAqAQElAAAAEgAAAENlcnRpZmljYXRlVHlwZUlkcwARAQAA" + - "AAEAAAAAAAAAAAEAKgEBHwAAAAwAAABDZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgBAQAAAAEA" + - "AAACAAAAAQH/////AAAAAARhggoEAAAAAAAMAAAAQXBwbHlDaGFuZ2VzAQC+MQAvAQC+Mb4xAAABAf//" + - "//8AAAAABGGCCgQAAAAAAA0AAABDYW5jZWxDaGFuZ2VzAQBiZAAvAQBiZGJkAAABAf////8AAAAABGGC" + - "CgQAAAAAABQAAABDcmVhdGVTaWduaW5nUmVxdWVzdAEAuzEALwEAuzG7MQAAAQH/////AgAAABdgqQoC" + - "AAAAAAAOAAAASW5wdXRBcmd1bWVudHMBALwxAC4ARLwxAACWBQAAAAEAKgEBIQAAABIAAABDZXJ0aWZp" + - "Y2F0ZUdyb3VwSWQAEf////8AAAAAAAEAKgEBIAAAABEAAABDZXJ0aWZpY2F0ZVR5cGVJZAAR/////wAA" + - "AAAAAQAqAQEaAAAACwAAAFN1YmplY3ROYW1lAAz/////AAAAAAABACoBASMAAAAUAAAAUmVnZW5lcmF0" + - "ZVByaXZhdGVLZXkAAf////8AAAAAAAEAKgEBFAAAAAUAAABOb25jZQAP/////wAAAAAAAQAoAQEAAAAB" + - "AAAABQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwEAvTEALgBEvTEAAJYB" + - "AAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlUmVxdWVzdAAP/////wAAAAAAAQAoAQEAAAABAAAAAQAA" + - "AAEB/////wAAAAAEYYIKBAAAAAAADwAAAEdldFJlamVjdGVkTGlzdAEA5zEALwEA5zHnMQAAAQH/////" + - "AQAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQDoMQAuAEToMQAAlgEAAAABACoBAR8AAAAM" + - "AAAAQ2VydGlmaWNhdGVzAA8BAAAAAQAAAAAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIK" + - "BAAAAAAAFQAAAFJlc2V0VG9TZXJ2ZXJEZWZhdWx0cwEAY2QALwEAY2RjZAAAAQH/////AAAAAARggAoB" + + "////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQCbNgAuAESbNgAAlgEAAAABACoBASMA" + + "AAAUAAAAQXBwbHlDaGFuZ2VzUmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + + "AAAABGGCCgQAAAAAAA4AAABBZGRDZXJ0aWZpY2F0ZQEAnDYALwEABDGcNgAAAQH/////AQAAABdgqQoC" + + "AAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAJ02AC4ARJ02AACWAgAAAAEAKgEBGgAAAAsAAABDZXJ0aWZp" + + "Y2F0ZQAP/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////AAAAAAAB" + + "ACgBAQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAAARAAAAUmVtb3ZlQ2VydGlmaWNhdGUBAJ42" + + "AC8BAAYxnjYAAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCfNgAuAESfNgAA" + + "lgIAAAABACoBARkAAAAKAAAAVGh1bWJwcmludAAM/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3Rl" + + "ZENlcnRpZmljYXRlAAH/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgiQoCAAAAAAAQ" + + "AAAAQ2VydGlmaWNhdGVUeXBlcwEAoDYALgBEoDYAAAARAQAAAAEAAAAAAAAAAQH/////AAAAAARggAoB" + "AAAAAAAWAAAAVHJhbnNhY3Rpb25EaWFnbm9zdGljcwEAK34ALwEAHn4rfgAA/////wYAAAAVYIkKAgAA" + "AAAACQAAAFN0YXJ0VGltZQEALH4ALgBELH4AAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAA" + "RW5kVGltZQEALX4ALgBELX4AAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAGAAAAUmVzdWx0AQAu" + "fgAuAEQufgAAABP/////AQH/////AAAAABdgiQoCAAAAAAASAAAAQWZmZWN0ZWRUcnVzdExpc3RzAQAv" + "fgAuAEQvfgAAABEBAAAAAQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAABkAAABBZmZlY3RlZENlcnRp" + "ZmljYXRlR3JvdXBzAQAwfgAuAEQwfgAAABEBAAAAAQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAAAYA" + - "AABFcnJvcnMBADF+AC4ARDF+AAABAB1+AQAAAAEAAAAAAAAAAQH/////AAAAAA=="; + "AABFcnJvcnMBADF+AC4ARDF+AAABAB1+AQAAAAEAAAAAAAAAAQH/////AAAAAARggAoBAAAAAAARAAAA" + + "Q29uZmlndXJhdGlvbkZpbGUBAMw8AC8BAL48zDwAAP////8YAAAAFWCJCgIAAAAAAAQAAABTaXplAQDN" + + "PAAuAETNPAAAAAn/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAV3JpdGFibGUBAM48AC4ARM48AAAA" + + "Af////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABVc2VyV3JpdGFibGUBAM88AC4ARM88AAAAAf////8B" + + "Af////8AAAAAFWCJCgIAAAAAAAkAAABPcGVuQ291bnQBANA8AC4ARNA8AAAABf////8BAf////8AAAAA" + + "BGGCCgQAAAAAAAQAAABPcGVuAQDUPAAvAQA8LdQ8AAABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1" + + "dEFyZ3VtZW50cwEA1TwALgBE1TwAAJYBAAAAAQAqAQETAAAABAAAAE1vZGUAA/////8AAAAAAAEAKAEB" + + "AAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBANY8AC4ARNY8" + + "AACWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/" + + "////AAAAAARhggoEAAAAAAAFAAAAQ2xvc2UBANc8AC8BAD8t1zwAAAEB/////wEAAAAXYKkKAgAAAAAA" + + "DgAAAElucHV0QXJndW1lbnRzAQCuPQAuAESuPQAAlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH" + + "/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABAAAAFJlYWQBAK89AC8B" + + "AEEtrz0AAAEB/////wIAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQCwPQAuAESwPQAAlgIA" + + "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQEVAAAABgAAAExlbmd0aAAG////" + + "/wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50" + + "cwEAvD0ALgBEvD0AAJYBAAAAAQAqAQETAAAABAAAAERhdGEAD/////8AAAAAAAEAKAEBAAAAAQAAAAEA" + + "AAABAf////8AAAAABGGCCgQAAAAAAAUAAABXcml0ZQEAvT0ALwEARC29PQAAAQH/////AQAAABdgqQoC" + + "AAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAL49AC4ARL49AACWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFu" + + "ZGxlAAf/////AAAAAAABACoBARMAAAAEAAAARGF0YQAP/////wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB" + + "/////wAAAAAEYYIKBAAAAAAACwAAAEdldFBvc2l0aW9uAQC/PQAvAQBGLb89AAABAf////8CAAAAF2Cp" + + "CgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAwD0ALgBEwD0AAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVI" + + "YW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRw" + + "dXRBcmd1bWVudHMBAME9AC4ARME9AACWAQAAAAEAKgEBFwAAAAgAAABQb3NpdGlvbgAJ/////wAAAAAA" + + "AQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAACwAAAFNldFBvc2l0aW9uAQDCPQAvAQBJ" + + "LcI9AAABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAwz0ALgBEwz0AAJYCAAAA" + + "AQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBFwAAAAgAAABQb3NpdGlvbgAJ////" + + "/wAAAAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAAVYIkKAgAAAAAADgAAAExhc3RVcGRhdGVUaW1l" + + "AQDEPQAuAETEPQAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDdXJyZW50VmVyc2lvbgEA" + + "xT0ALgBExT0AAAEABlL/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aXZpdHlUaW1lb3V0AQDG" + + "PQAuAETGPQAAAQAiAf////8BAf////8AAAAAFWCJCgIAAAAAABEAAABTdXBwb3J0ZWREYXRhVHlwZQEA" + + "6D0ALgBE6D0AAAAR/////wEB/////wAAAAAEYYIKBAAAAAAADQAAAENvbmZpcm1VcGRhdGUBAPc9AC8B" + + "AJQ89z0AAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAQD4PQAuAET4PQAAlgEA" + + "AAABACoBARcAAAAIAAAAVXBkYXRlSWQADv////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAA" + + "BGGCCgQAAAAAAA4AAABDbG9zZUFuZFVwZGF0ZQEA6T0ALwEAkTzpPQAAAQH/////AgAAABdgqQoCAAAA" + + "AAAOAAAASW5wdXRBcmd1bWVudHMBAOo9AC4AROo9AACWBQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxl" + + "AAf/////AAAAAAABACoBASAAAAAPAAAAVmVyc2lvblRvVXBkYXRlAQAGUv////8AAAAAAAEAKgEBHAAA" + + "AAcAAABUYXJnZXRzAQCyPAEAAAABAAAAAAAAAAABACoBASAAAAAPAAAAUmV2ZXJ0QWZ0ZXJUaW1lAQAi" + + "Af////8AAAAAAAEAKgEBIQAAABAAAABSZXN0YXJ0RGVsYXlUaW1lAQAiAf////8AAAAAAAEAKAEBAAAA" + + "AQAAAAUAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAOs9AC4AROs9AACW" + + "AwAAAAEAKgEBIAAAAA0AAABVcGRhdGVSZXN1bHRzABMBAAAAAQAAAAAAAAAAAQAqAQEbAAAACgAAAE5l" + + "d1ZlcnNpb24BAAZS/////wAAAAAAAQAqAQEXAAAACAAAAFVwZGF0ZUlkAA7/////AAAAAAABACgBAQAA" + + "AAEAAAADAAAAAQH/////AAAAABdgiQoCAAAAAAARAAAAQXZhaWxhYmxlTmV0d29ya3MBAAZBAC4ARAZB" + + "AAAADAEAAAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAADgAAAEF2YWlsYWJsZVBvcnRzAQAHQQAu" + + "AEQHQQAAAQAjAf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABNYXhFbmRwb2ludHMBANxLAC4ARNxL" + + "AAAABf////8BAf////8AAAAAFWCJCgIAAAAAABQAAABNYXhDZXJ0aWZpY2F0ZUdyb3VwcwEA3UsALgBE" + + "3UsAAAAF/////wEB/////wAAAAAXYIkKAgAAAAAAEgAAAFNlY3VyaXR5UG9saWN5VXJpcwEACEEALgBE" + + "CEEAAAEAx1wBAAAAAQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAAA4AAABVc2VyVG9rZW5UeXBlcwEA" + + "CUEALgBECUEAAAEAMAEBAAAAAQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAABAAAABDZXJ0aWZpY2F0" + + "ZVR5cGVzAQAKQQAuAEQKQQAAABEBAAAAAQAAAAAAAAABAf////8AAAAAF2CJCgIAAAAAABgAAABDZXJ0" + + "aWZpY2F0ZUdyb3VwUHVycG9zZXMBAN5LAC4ARN5LAAAAEQEAAAABAAAAAAAAAAEB/////wAAAAA="; #endregion #endif #endregion #region Public Properties - /// - public CertificateGroupFolderState CertificateGroups - { - get - { - return m_certificateGroups; - } - - set - { - if (!Object.ReferenceEquals(m_certificateGroups, value)) - { - ChangeMasks |= NodeStateChangeMasks.Children; - } - - m_certificateGroups = value; - } - } - /// public PropertyState ApplicationUri { @@ -70648,6 +75754,44 @@ public UpdateCertificateMethodState UpdateCertificate } } + /// + public CreateSelfSignedCertificateMethodState CreateSelfSignedCertificate + { + get + { + return m_createSelfSignedCertificateMethod; + } + + set + { + if (!Object.ReferenceEquals(m_createSelfSignedCertificateMethod, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_createSelfSignedCertificateMethod = value; + } + } + + /// + public DeleteCertificateMethodState DeleteCertificate + { + get + { + return m_deleteCertificateMethod; + } + + set + { + if (!Object.ReferenceEquals(m_deleteCertificateMethod, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_deleteCertificateMethod = value; + } + } + /// public GetCertificatesMethodState GetCertificates { @@ -70762,6 +75906,25 @@ public MethodState ResetToServerDefaults } } + /// + public CertificateGroupFolderState CertificateGroups + { + get + { + return m_certificateGroups; + } + + set + { + if (!Object.ReferenceEquals(m_certificateGroups, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_certificateGroups = value; + } + } + /// public TransactionDiagnosticsState TransactionDiagnostics { @@ -70780,6 +75943,25 @@ public TransactionDiagnosticsState TransactionDiagnostics m_transactionDiagnostics = value; } } + + /// + public ApplicationConfigurationFileState ConfigurationFile + { + get + { + return m_configurationFile; + } + + set + { + if (!Object.ReferenceEquals(m_configurationFile, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_configurationFile = value; + } + } #endregion #region Overridden Methods @@ -70788,11 +75970,6 @@ public override void GetChildren( ISystemContext context, IList children) { - if (m_certificateGroups != null) - { - children.Add(m_certificateGroups); - } - if (m_applicationUri != null) { children.Add(m_applicationUri); @@ -70853,6 +76030,16 @@ public override void GetChildren( children.Add(m_updateCertificateMethod); } + if (m_createSelfSignedCertificateMethod != null) + { + children.Add(m_createSelfSignedCertificateMethod); + } + + if (m_deleteCertificateMethod != null) + { + children.Add(m_deleteCertificateMethod); + } + if (m_getCertificatesMethod != null) { children.Add(m_getCertificatesMethod); @@ -70883,11 +76070,21 @@ public override void GetChildren( children.Add(m_resetToServerDefaultsMethod); } + if (m_certificateGroups != null) + { + children.Add(m_certificateGroups); + } + if (m_transactionDiagnostics != null) { children.Add(m_transactionDiagnostics); } + if (m_configurationFile != null) + { + children.Add(m_configurationFile); + } + base.GetChildren(context, children); } @@ -70907,27 +76104,6 @@ protected override BaseInstanceState FindChild( switch (browseName.Name) { - case Opc.Ua.BrowseNames.CertificateGroups: - { - if (createOrReplace) - { - if (CertificateGroups == null) - { - if (replacement == null) - { - CertificateGroups = new CertificateGroupFolderState(this); - } - else - { - CertificateGroups = (CertificateGroupFolderState)replacement; - } - } - } - - instance = CertificateGroups; - break; - } - case Opc.Ua.BrowseNames.ApplicationUri: { if (createOrReplace) @@ -71180,6 +76356,48 @@ protected override BaseInstanceState FindChild( break; } + case Opc.Ua.BrowseNames.CreateSelfSignedCertificate: + { + if (createOrReplace) + { + if (CreateSelfSignedCertificate == null) + { + if (replacement == null) + { + CreateSelfSignedCertificate = new CreateSelfSignedCertificateMethodState(this); + } + else + { + CreateSelfSignedCertificate = (CreateSelfSignedCertificateMethodState)replacement; + } + } + } + + instance = CreateSelfSignedCertificate; + break; + } + + case Opc.Ua.BrowseNames.DeleteCertificate: + { + if (createOrReplace) + { + if (DeleteCertificate == null) + { + if (replacement == null) + { + DeleteCertificate = new DeleteCertificateMethodState(this); + } + else + { + DeleteCertificate = (DeleteCertificateMethodState)replacement; + } + } + } + + instance = DeleteCertificate; + break; + } + case Opc.Ua.BrowseNames.GetCertificates: { if (createOrReplace) @@ -71306,6 +76524,27 @@ protected override BaseInstanceState FindChild( break; } + case Opc.Ua.BrowseNames.CertificateGroups: + { + if (createOrReplace) + { + if (CertificateGroups == null) + { + if (replacement == null) + { + CertificateGroups = new CertificateGroupFolderState(this); + } + else + { + CertificateGroups = (CertificateGroupFolderState)replacement; + } + } + } + + instance = CertificateGroups; + break; + } + case Opc.Ua.BrowseNames.TransactionDiagnostics: { if (createOrReplace) @@ -71326,6 +76565,27 @@ protected override BaseInstanceState FindChild( instance = TransactionDiagnostics; break; } + + case Opc.Ua.BrowseNames.ConfigurationFile: + { + if (createOrReplace) + { + if (ConfigurationFile == null) + { + if (replacement == null) + { + ConfigurationFile = new ApplicationConfigurationFileState(this); + } + else + { + ConfigurationFile = (ApplicationConfigurationFileState)replacement; + } + } + } + + instance = ConfigurationFile; + break; + } } if (instance != null) @@ -71338,7 +76598,6 @@ protected override BaseInstanceState FindChild( #endregion #region Private Fields - private CertificateGroupFolderState m_certificateGroups; private PropertyState m_applicationUri; private PropertyState m_productUri; private PropertyState m_applicationType; @@ -71351,13 +76610,340 @@ protected override BaseInstanceState FindChild( private PropertyState m_supportsTransactions; private PropertyState m_inApplicationSetup; private UpdateCertificateMethodState m_updateCertificateMethod; + private CreateSelfSignedCertificateMethodState m_createSelfSignedCertificateMethod; + private DeleteCertificateMethodState m_deleteCertificateMethod; private GetCertificatesMethodState m_getCertificatesMethod; private MethodState m_applyChangesMethod; private MethodState m_cancelChangesMethod; private CreateSigningRequestMethodState m_createSigningRequestMethod; private GetRejectedListMethodState m_getRejectedListMethod; private MethodState m_resetToServerDefaultsMethod; + private CertificateGroupFolderState m_certificateGroups; private TransactionDiagnosticsState m_transactionDiagnostics; + private ApplicationConfigurationFileState m_configurationFile; + #endregion + } + #endif + #endregion + + #region ApplicationConfigurationState Class + #if (!OPCUA_EXCLUDE_ApplicationConfigurationState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class ApplicationConfigurationState : ServerConfigurationState + { + #region Constructors + /// + public ApplicationConfigurationState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ApplicationConfigurationType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + + if (KeyCredentials != null) + { + KeyCredentials.Initialize(context, KeyCredentials_InitializationString); + } + + if (AuthorizationServices != null) + { + AuthorizationServices.Initialize(context, AuthorizationServices_InitializationString); + } + } + + #region Initialization String + private const string KeyCredentials_InitializationString = + "//////////8EYIAKAQAAAAAADgAAAEtleUNyZWRlbnRpYWxzAQDfSwAvAQBYRN9LAAD/////AAAAAA=="; + + private const string AuthorizationServices_InitializationString = + "//////////8EYIAKAQAAAAAAFQAAAEF1dGhvcml6YXRpb25TZXJ2aWNlcwEA40sALwEABFzjSwAA////" + + "/wAAAAA="; + + private const string InitializationString = + "//////////8EYIACAQAAAAAAJAAAAEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblR5cGVJbnN0YW5jZQEA" + + "g2QBAINkg2QAAP////8PAAAAFWCJCgIAAAAAAA4AAABBcHBsaWNhdGlvblVyaQEA4mgALgBE4mgAAAEA" + + "x1z/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAUHJvZHVjdFVyaQEA42gALgBE42gAAAEAx1z/////" + + "AQH/////AAAAABVgiQoCAAAAAAAPAAAAQXBwbGljYXRpb25UeXBlAQDkaAAuAETkaAAAAQAzAf////8B" + + "Af////8AAAAAF2CJCgIAAAAAABIAAABTZXJ2ZXJDYXBhYmlsaXRpZXMCAADOWg8AAC4ARM5aDwAADAEA" + + "AAABAAAAAAAAAAEB/////wAAAAAXYIkKAgAAAAAAGgAAAFN1cHBvcnRlZFByaXZhdGVLZXlGb3JtYXRz" + + "AgAAz1oPAAAuAETPWg8AAAwBAAAAAQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAAABAAAABNYXhUcnVz" + + "dExpc3RTaXplAgAA0FoPAAAuAETQWg8AAAf/////AQH/////AAAAABVgiQoCAAAAAAATAAAATXVsdGlj" + + "YXN0RG5zRW5hYmxlZAIAANFaDwAALgBE0VoPAAAB/////wEB/////wAAAAAEYYIKBAAAAAAAEQAAAFVw" + + "ZGF0ZUNlcnRpZmljYXRlAgAA1VoPAAAvAQBIMdVaDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1" + + "dEFyZ3VtZW50cwIAANZaDwAALgBE1loPAJYGAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJ" + + "ZAAR/////wAAAAAAAQAqAQEgAAAAEQAAAENlcnRpZmljYXRlVHlwZUlkABH/////AAAAAAABACoBARoA" + + "AAALAAAAQ2VydGlmaWNhdGUAD/////8AAAAAAAEAKgEBJQAAABIAAABJc3N1ZXJDZXJ0aWZpY2F0ZXMA" + + "DwEAAAABAAAAAAAAAAABACoBAR8AAAAQAAAAUHJpdmF0ZUtleUZvcm1hdAAM/////wAAAAAAAQAqAQEZ" + + "AAAACgAAAFByaXZhdGVLZXkAD/////8AAAAAAAEAKAEBAAAAAQAAAAYAAAABAf////8AAAAAF2CpCgIA" + + "AAAAAA8AAABPdXRwdXRBcmd1bWVudHMCAADXWg8AAC4ARNdaDwCWAQAAAAEAKgEBIwAAABQAAABBcHBs" + + "eUNoYW5nZXNSZXF1aXJlZAAB/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAA" + + "AAAADAAAAEFwcGx5Q2hhbmdlcwIAAOBaDwAALwEAvjHgWg8AAQH/////AAAAAARhggoEAAAAAAAUAAAA" + + "Q3JlYXRlU2lnbmluZ1JlcXVlc3QCAADiWg8AAC8BALsx4loPAAEB/////wIAAAAXYKkKAgAAAAAADgAA" + + "AElucHV0QXJndW1lbnRzAgAA41oPAAAuAETjWg8AlgUAAAABACoBASEAAAASAAAAQ2VydGlmaWNhdGVH" + + "cm91cElkABH/////AAAAAAABACoBASAAAAARAAAAQ2VydGlmaWNhdGVUeXBlSWQAEf////8AAAAAAAEA" + + "KgEBGgAAAAsAAABTdWJqZWN0TmFtZQAM/////wAAAAAAAQAqAQEjAAAAFAAAAFJlZ2VuZXJhdGVQcml2" + + "YXRlS2V5AAH/////AAAAAAABACoBARQAAAAFAAAATm9uY2UAD/////8AAAAAAAEAKAEBAAAAAQAAAAUA" + + "AAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMCAADkWg8AAC4ARORaDwCWAQAA" + + "AAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZVJlcXVlc3QAD/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + + "Af////8AAAAABGGCCgQAAAAAAA8AAABHZXRSZWplY3RlZExpc3QCAADlWg8AAC8BAOcx5VoPAAEB////" + + "/wEAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwIAAOZaDwAALgBE5loPAJYBAAAAAQAqAQEf" + + "AAAADAAAAENlcnRpZmljYXRlcwAPAQAAAAEAAAAAAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAA" + + "BGCACgEAAAAAABEAAABDZXJ0aWZpY2F0ZUdyb3VwcwIAAOhaDwAALwEA9TXoWg8A/////wEAAAAEYIAK" + + "AQAAAAAAFwAAAERlZmF1bHRBcHBsaWNhdGlvbkdyb3VwAgAA6VoPAAAvAQALMelaDwD/////AgAAAARg" + + "gAoBAAAAAAAJAAAAVHJ1c3RMaXN0AgAA6loPAAAvAQDqMOpaDwD/////DwAAABVgiQoCAAAAAAAEAAAA" + + "U2l6ZQIAAOtaDwAALgBE61oPAAAJ/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFdyaXRhYmxlAgAA" + + "7FoPAAAuAETsWg8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAVXNlcldyaXRhYmxlAgAA7VoP" + + "AAAuAETtWg8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAAT3BlbkNvdW50AgAA7loPAAAuAETu" + + "Wg8AAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAAT3BlbgIAAPJaDwAALwEAPC3yWg8AAQH/////" + + "AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADzWg8AAC4ARPNaDwCWAQAAAAEAKgEBEwAA" + + "AAQAAABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAA" + + "T3V0cHV0QXJndW1lbnRzAgAA9FoPAAAuAET0Wg8AlgEAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH" + + "/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAAAAAABQAAAENsb3NlAgAA9VoP" + + "AAAvAQA/LfVaDwABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAPZaDwAALgBE" + + "9loPAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAAB" + + "Af////8AAAAABGGCCgQAAAAAAAQAAABSZWFkAgAA91oPAAAvAQBBLfdaDwABAf////8CAAAAF2CpCgIA" + + "AAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAPhaDwAALgBE+FoPAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVI" + + "YW5kbGUAB/////8AAAAAAAEAKgEBFQAAAAYAAABMZW5ndGgABv////8AAAAAAAEAKAEBAAAAAQAAAAIA" + + "AAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMCAAD5Wg8AAC4ARPlaDwCWAQAA" + + "AAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAAARhggoE" + + "AAAAAAAFAAAAV3JpdGUCAAD6Wg8AAC8BAEQt+loPAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0" + + "QXJndW1lbnRzAgAA+1oPAAAuAET7Wg8AlgIAAAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAA" + + "AAAAAQAqAQETAAAABAAAAERhdGEAD/////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAABGGC" + + "CgQAAAAAAAsAAABHZXRQb3NpdGlvbgIAAPxaDwAALwEARi38Wg8AAQH/////AgAAABdgqQoCAAAAAAAO" + + "AAAASW5wdXRBcmd1bWVudHMCAAD9Wg8AAC4ARP1aDwCWAQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxl" + + "AAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJn" + + "dW1lbnRzAgAA/loPAAAuAET+Wg8AlgEAAAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEA" + + "KAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABTZXRQb3NpdGlvbgIAAP9aDwAALwEA" + + "SS3/Wg8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAAAAWw8AAC4ARABbDwCW" + + "AgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoBARcAAAAIAAAAUG9zaXRpb24A" + + "Cf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VXBkYXRl" + + "VGltZQIAAAFbDwAALgBEAVsPAAEAJgH/////AQH/////AAAAAARhggoEAAAAAAANAAAAT3BlbldpdGhN" + + "YXNrcwIAAAVbDwAALwEA/zAFWw8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMC" + + "AAAGWw8AAC4ARAZbDwCWAQAAAAEAKgEBFAAAAAUAAABNYXNrcwAH/////wAAAAAAAQAoAQEAAAABAAAA" + + "AQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50cwIAAAdbDwAALgBEB1sPAJYB" + + "AAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + + "AAAABGGCCgQAAAAAAA4AAABDbG9zZUFuZFVwZGF0ZQIAAAhbDwAALwEAAjEIWw8AAQH/////AgAAABdg" + + "qQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAAAJWw8AAC4ARAlbDwCWAQAAAAEAKgEBGQAAAAoAAABG" + + "aWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAA" + + "T3V0cHV0QXJndW1lbnRzAgAAClsPAAAuAEQKWw8AlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2Vz" + + "UmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAA4AAABB" + + "ZGRDZXJ0aWZpY2F0ZQIAAAtbDwAALwEABDELWw8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRB" + + "cmd1bWVudHMCAAAMWw8AAC4ARAxbDwCWAgAAAAEAKgEBGgAAAAsAAABDZXJ0aWZpY2F0ZQAP/////wAA" + + "AAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////AAAAAAABACgBAQAAAAEAAAAC" + + "AAAAAQH/////AAAAAARhggoEAAAAAAARAAAAUmVtb3ZlQ2VydGlmaWNhdGUCAAANWw8AAC8BAAYxDVsP" + + "AAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAADlsPAAAuAEQOWw8AlgIAAAAB" + + "ACoBARkAAAAKAAAAVGh1bWJwcmludAAM/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRp" + + "ZmljYXRlAAH/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAABdgiQoCAAAAAAAQAAAAQ2Vy" + + "dGlmaWNhdGVUeXBlcwIAAA9bDwAALgBED1sPAAARAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAA" + + "AAAHAAAARW5hYmxlZAEA4WgALgBE4WgAAAAB/////wEB/////wAAAAAEYIAKAQAAAAAADgAAAEtleUNy" + + "ZWRlbnRpYWxzAQDfSwAvAQBYRN9LAAD/////AAAAAARggAoBAAAAAAAVAAAAQXV0aG9yaXphdGlvblNl" + + "cnZpY2VzAQDjSwAvAQAEXONLAAD/////AAAAAA=="; + #endregion + #endif + #endregion + + #region Public Properties + /// + public PropertyState Enabled + { + get + { + return m_enabled; + } + + set + { + if (!Object.ReferenceEquals(m_enabled, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_enabled = value; + } + } + + /// + public KeyCredentialConfigurationFolderState KeyCredentials + { + get + { + return m_keyCredentials; + } + + set + { + if (!Object.ReferenceEquals(m_keyCredentials, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_keyCredentials = value; + } + } + + /// + public AuthorizationServicesConfigurationFolderState AuthorizationServices + { + get + { + return m_authorizationServices; + } + + set + { + if (!Object.ReferenceEquals(m_authorizationServices, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_authorizationServices = value; + } + } + #endregion + + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_enabled != null) + { + children.Add(m_enabled); + } + + if (m_keyCredentials != null) + { + children.Add(m_keyCredentials); + } + + if (m_authorizationServices != null) + { + children.Add(m_authorizationServices); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.Enabled: + { + if (createOrReplace) + { + if (Enabled == null) + { + if (replacement == null) + { + Enabled = new PropertyState(this); + } + else + { + Enabled = (PropertyState)replacement; + } + } + } + + instance = Enabled; + break; + } + + case Opc.Ua.BrowseNames.KeyCredentials: + { + if (createOrReplace) + { + if (KeyCredentials == null) + { + if (replacement == null) + { + KeyCredentials = new KeyCredentialConfigurationFolderState(this); + } + else + { + KeyCredentials = (KeyCredentialConfigurationFolderState)replacement; + } + } + } + + instance = KeyCredentials; + break; + } + + case Opc.Ua.BrowseNames.AuthorizationServices: + { + if (createOrReplace) + { + if (AuthorizationServices == null) + { + if (replacement == null) + { + AuthorizationServices = new AuthorizationServicesConfigurationFolderState(this); + } + else + { + AuthorizationServices = (AuthorizationServicesConfigurationFolderState)replacement; + } + } + } + + instance = AuthorizationServices; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_enabled; + private KeyCredentialConfigurationFolderState m_keyCredentials; + private AuthorizationServicesConfigurationFolderState m_authorizationServices; #endregion } #endif @@ -71407,20 +76993,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAMAAAAENlcnRpZmljYXRlVXBkYXRlUmVxdWVzdGVkQXVkaXRFdmVudFR5" + - "cGVJbnN0YW5jZQEAMn4BADJ+Mn4AAP////8PAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAUVoPAAAu" + - "AERRWg8AAA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAUloPAAAuAERSWg8A" + - "ABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAFNaDwAALgBEU1oPAAAR////" + - "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAABUWg8AAC4ARFRaDwAADP////8BAf//" + - "//8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgAAVVoPAAAuAERVWg8AAQAmAf////8BAf////8AAAAAFWCJ" + - "CgIAAAAAAAsAAABSZWNlaXZlVGltZQIAAFZaDwAALgBEVloPAAEAJgH/////AQH/////AAAAABVgiQoC" + - "AAAAAAAHAAAATWVzc2FnZQIAAFhaDwAALgBEWFoPAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAA" + - "AFNldmVyaXR5AgAAWVoPAAAuAERZWg8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9u" + - "VGltZVN0YW1wAgAAXloPAAAuAEReWg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0" + - "dXMCAABfWg8AAC4ARF9aDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAGBa" + - "DwAALgBEYFoPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIA" + - "AGFaDwAALgBEYVoPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAAGJa" + - "DwAALgBEYloPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAAY1oPAAAuAERj" + - "Wg8AABH/////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAABlWg8AAC4ARGVa" + + "cGVJbnN0YW5jZQEAMn4BADJ+Mn4AAP////8PAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAd18PAAAu" + + "AER3Xw8AAA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAeF8PAAAuAER4Xw8A" + + "ABH/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAHlfDwAALgBEeV8PAAAR////" + + "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAAB6Xw8AAC4ARHpfDwAADP////8BAf//" + + "//8AAAAAFWCJCgIAAAAAAAQAAABUaW1lAgAAe18PAAAuAER7Xw8AAQAmAf////8BAf////8AAAAAFWCJ" + + "CgIAAAAAAAsAAABSZWNlaXZlVGltZQIAAHxfDwAALgBEfF8PAAEAJgH/////AQH/////AAAAABVgiQoC" + + "AAAAAAAHAAAATWVzc2FnZQIAAH5fDwAALgBEfl8PAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAA" + + "AFNldmVyaXR5AgAAf18PAAAuAER/Xw8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9u" + + "VGltZVN0YW1wAgAAhF8PAAAuAESEXw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0" + + "dXMCAACFXw8AAC4ARIVfDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAIZf" + + "DwAALgBEhl8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIA" + + "AIdfDwAALgBEh18PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAAIhf" + + "DwAALgBEiF8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAAiV8PAAAuAESJ" + + "Xw8AABH/////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAACLXw8AAC4ARItf" + "DwAAGAEAAAABAAAAAAAAAAEB/////wAAAAA="; #endregion #endif @@ -71482,20 +77068,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKAAAAENlcnRpZmljYXRlVXBkYXRlZEF1ZGl0RXZlbnRUeXBlSW5zdGFu" + - "Y2UBAEwxAQBMMUwxAAD/////EQAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAGdaDwAALgBEZ1oPAAAP" + - "/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAGhaDwAALgBEaFoPAAAR/////wEB" + - "/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAABpWg8AAC4ARGlaDwAAEf////8BAf////8A" + - "AAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAAaloPAAAuAERqWg8AAAz/////AQH/////AAAAABVg" + - "iQoCAAAAAAAEAAAAVGltZQIAAGtaDwAALgBEa1oPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAL" + - "AAAAUmVjZWl2ZVRpbWUCAABsWg8AAC4ARGxaDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAA" + - "AE1lc3NhZ2UCAABuWg8AAC4ARG5aDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0" + - "eQIAAG9aDwAALgBEb1oPAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGlvblRpbWVTdGFt" + - "cAIAAHRaDwAALgBEdFoPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAGAAAAU3RhdHVzAgAAdVoP" + - "AAAuAER1Wg8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2VydmVySWQCAAB2Wg8AAC4ARHZa" + - "DwAADP////8BAf////8AAAAAFWCJCgIAAAAAABIAAABDbGllbnRBdWRpdEVudHJ5SWQCAAB3Wg8AAC4A" + - "RHdaDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQCAAB4Wg8AAC4ARHha" + - "DwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABNZXRob2RJZAIAAHlaDwAALgBEeVoPAAAR////" + - "/wEB/////wAAAAAXYIkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAe1oPAAAuAER7Wg8AABgBAAAA" + + "Y2UBAEwxAQBMMUwxAAD/////EQAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAI1fDwAALgBEjV8PAAAP" + + "/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAI5fDwAALgBEjl8PAAAR/////wEB" + + "/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAACPXw8AAC4ARI9fDwAAEf////8BAf////8A" + + "AAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAAkF8PAAAuAESQXw8AAAz/////AQH/////AAAAABVg" + + "iQoCAAAAAAAEAAAAVGltZQIAAJFfDwAALgBEkV8PAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAL" + + "AAAAUmVjZWl2ZVRpbWUCAACSXw8AAC4ARJJfDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAA" + + "AE1lc3NhZ2UCAACUXw8AAC4ARJRfDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0" + + "eQIAAJVfDwAALgBElV8PAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADwAAAEFjdGlvblRpbWVTdGFt" + + "cAIAAJpfDwAALgBEml8PAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAGAAAAU3RhdHVzAgAAm18P" + + "AAAuAESbXw8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2VydmVySWQCAACcXw8AAC4ARJxf" + + "DwAADP////8BAf////8AAAAAFWCJCgIAAAAAABIAAABDbGllbnRBdWRpdEVudHJ5SWQCAACdXw8AAC4A" + + "RJ1fDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDbGllbnRVc2VySWQCAACeXw8AAC4ARJ5f" + + "DwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABNZXRob2RJZAIAAJ9fDwAALgBEn18PAAAR////" + + "/wEB/////wAAAAAXYIkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAoV8PAAAuAEShXw8AABgBAAAA" + "AQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAAABAAAABDZXJ0aWZpY2F0ZUdyb3VwAQCnNQAuAESnNQAA" + "ABH/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQ2VydGlmaWNhdGVUeXBlAQCoNQAuAESoNQAAABH/" + "////AQH/////AAAAAA=="; @@ -71688,6 +77274,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public CreateCredentialMethodStateMethodCallHandler OnCall; + + /// + public CreateCredentialMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -71701,6 +77290,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -71732,6 +77326,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + CreateCredentialMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + string resourceUri = (string)_inputArguments[1]; + string profileUri = (string)_inputArguments[2]; + string[] endpointUrls = (string[])_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + resourceUri, + profileUri, + endpointUrls, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.CredentialNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -71749,6 +77388,29 @@ public delegate ServiceResult CreateCredentialMethodStateMethodCallHandler( string profileUri, string[] endpointUrls, ref NodeId credentialNodeId); + + /// + /// + public partial class CreateCredentialMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId CredentialNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask CreateCredentialMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + string resourceUri, + string profileUri, + string[] endpointUrls, + CancellationToken cancellationToken); #endif #endregion @@ -71960,6 +77622,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetEncryptingKeyMethodStateMethodCallHandler OnCall; + + /// + public GetEncryptingKeyMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -71973,6 +77638,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -72003,6 +77673,48 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetEncryptingKeyMethodStateResult _result = null; + + string credentialId = (string)_inputArguments[0]; + string requestedSecurityPolicyUri = (string)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + credentialId, + requestedSecurityPolicyUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.PublicKey; + _outputArguments[1] = _result.RevisedSecurityPolicyUri; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -72019,6 +77731,29 @@ public delegate ServiceResult GetEncryptingKeyMethodStateMethodCallHandler( string requestedSecurityPolicyUri, ref byte[] publicKey, ref string revisedSecurityPolicyUri); + + /// + /// + public partial class GetEncryptingKeyMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] PublicKey { get; set; } + /// + public string RevisedSecurityPolicyUri { get; set; } + } + + + /// + /// + public delegate ValueTask GetEncryptingKeyMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string credentialId, + string requestedSecurityPolicyUri, + CancellationToken cancellationToken); #endif #endregion @@ -72609,6 +78344,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public KeyCredentialUpdateMethodStateMethodCallHandler OnCall; + + /// + public KeyCredentialUpdateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -72622,6 +78360,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -72648,6 +78391,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + KeyCredentialUpdateMethodStateResult _result = null; + + string credentialId = (string)_inputArguments[0]; + byte[] credentialSecret = (byte[])_inputArguments[1]; + string certificateThumbprint = (string)_inputArguments[2]; + string securityPolicyUri = (string)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + credentialId, + credentialSecret, + certificateThumbprint, + securityPolicyUri, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -72664,6 +78450,27 @@ public delegate ServiceResult KeyCredentialUpdateMethodStateMethodCallHandler( byte[] credentialSecret, string certificateThumbprint, string securityPolicyUri); + + /// + /// + public partial class KeyCredentialUpdateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask KeyCredentialUpdateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string credentialId, + byte[] credentialSecret, + string certificateThumbprint, + string securityPolicyUri, + CancellationToken cancellationToken); #endif #endregion @@ -72711,20 +78518,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAIwAAAEtleUNyZWRlbnRpYWxBdWRpdEV2ZW50VHlwZUluc3RhbmNlAQBb" + - "RgEAW0ZbRgAA/////xAAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAACJWg8AAC4ARIlaDwAAD/////8B" + - "Af////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAACKWg8AAC4ARIpaDwAAEf////8BAf////8A" + - "AAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAi1oPAAAuAESLWg8AABH/////AQH/////AAAAABVg" + - "iQoCAAAAAAAKAAAAU291cmNlTmFtZQIAAIxaDwAALgBEjFoPAAAM/////wEB/////wAAAAAVYIkKAgAA" + - "AAAABAAAAFRpbWUCAACNWg8AAC4ARI1aDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJl" + - "Y2VpdmVUaW1lAgAAjloPAAAuAESOWg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNz" + - "YWdlAgAAkFoPAAAuAESQWg8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAACR" + - "Wg8AAC4ARJFaDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAACW" + - "Wg8AAC4ARJZaDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIAAJdaDwAALgBE" + - "l1oPAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgAAmFoPAAAuAESYWg8AAAz/" + - "////AQH/////AAAAABVgiQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgAAmVoPAAAuAESZWg8A" + - "AAz/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgAAmloPAAAuAESaWg8AAAz/" + - "////AQH/////AAAAABVgiQoCAAAAAAAIAAAATWV0aG9kSWQCAACbWg8AAC4ARJtaDwAAEf////8BAf//" + - "//8AAAAAF2CJCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAJ1aDwAALgBEnVoPAAAYAQAAAAEAAAAA" + + "RgEAW0ZbRgAA/////xAAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAACvXw8AAC4ARK9fDwAAD/////8B" + + "Af////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAACwXw8AAC4ARLBfDwAAEf////8BAf////8A" + + "AAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAsV8PAAAuAESxXw8AABH/////AQH/////AAAAABVg" + + "iQoCAAAAAAAKAAAAU291cmNlTmFtZQIAALJfDwAALgBEsl8PAAAM/////wEB/////wAAAAAVYIkKAgAA" + + "AAAABAAAAFRpbWUCAACzXw8AAC4ARLNfDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJl" + + "Y2VpdmVUaW1lAgAAtF8PAAAuAES0Xw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNz" + + "YWdlAgAAtl8PAAAuAES2Xw8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAAC3" + + "Xw8AAC4ARLdfDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAA8AAABBY3Rpb25UaW1lU3RhbXACAAC8" + + "Xw8AAC4ARLxfDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAFN0YXR1cwIAAL1fDwAALgBE" + + "vV8PAAAB/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNlcnZlcklkAgAAvl8PAAAuAES+Xw8AAAz/" + + "////AQH/////AAAAABVgiQoCAAAAAAASAAAAQ2xpZW50QXVkaXRFbnRyeUlkAgAAv18PAAAuAES/Xw8A" + + "AAz/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAQ2xpZW50VXNlcklkAgAAwF8PAAAuAETAXw8AAAz/" + + "////AQH/////AAAAABVgiQoCAAAAAAAIAAAATWV0aG9kSWQCAADBXw8AAC4ARMFfDwAAEf////8BAf//" + + "//8AAAAAF2CJCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAMNfDwAALgBEw18PAAAYAQAAAAEAAAAA" + "AAAAAQH/////AAAAABVgiQoCAAAAAAALAAAAUmVzb3VyY2VVcmkBAGxGAC4ARGxGAAAADP////8BAf//" + "//8AAAAA"; #endregion @@ -72864,21 +78671,21 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKgAAAEtleUNyZWRlbnRpYWxVcGRhdGVkQXVkaXRFdmVudFR5cGVJbnN0" + - "YW5jZQEAbUYBAG1GbUYAAP////8QAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAn1oPAAAuAESfWg8A" + - "AA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAoFoPAAAuAESgWg8AABH/////" + - "AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAKFaDwAALgBEoVoPAAAR/////wEB////" + - "/wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAACiWg8AAC4ARKJaDwAADP////8BAf////8AAAAA" + - "FWCJCgIAAAAAAAQAAABUaW1lAgAAo1oPAAAuAESjWg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + - "AAsAAABSZWNlaXZlVGltZQIAAKRaDwAALgBEpFoPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAH" + - "AAAATWVzc2FnZQIAAKZaDwAALgBEploPAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVy" + - "aXR5AgAAp1oPAAAuAESnWg8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0" + - "YW1wAgAArFoPAAAuAESsWg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAACt" + - "Wg8AAC4ARK1aDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAK5aDwAALgBE" + - "rloPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIAAK9aDwAA" + - "LgBEr1oPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAALBaDwAALgBE" + - "sFoPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAAsVoPAAAuAESxWg8AABH/" + - "////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAACzWg8AAC4ARLNaDwAAGAEA" + - "AAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlc291cmNlVXJpAgAAtVoPAAAuAES1Wg8A" + + "YW5jZQEAbUYBAG1GbUYAAP////8QAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAxV8PAAAuAETFXw8A" + + "AA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAxl8PAAAuAETGXw8AABH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAMdfDwAALgBEx18PAAAR/////wEB////" + + "/wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAADIXw8AAC4ARMhfDwAADP////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAQAAABUaW1lAgAAyV8PAAAuAETJXw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + + "AAsAAABSZWNlaXZlVGltZQIAAMpfDwAALgBEyl8PAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAH" + + "AAAATWVzc2FnZQIAAMxfDwAALgBEzF8PAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVy" + + "aXR5AgAAzV8PAAAuAETNXw8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0" + + "YW1wAgAA0l8PAAAuAETSXw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAADT" + + "Xw8AAC4ARNNfDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAANRfDwAALgBE" + + "1F8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIAANVfDwAA" + + "LgBE1V8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAANZfDwAALgBE" + + "1l8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAA118PAAAuAETXXw8AABH/" + + "////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADZXw8AAC4ARNlfDwAAGAEA" + + "AAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlc291cmNlVXJpAgAA218PAAAuAETbXw8A" + "AAz/////AQH/////AAAAAA=="; #endregion #endif @@ -72940,20 +78747,20 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKgAAAEtleUNyZWRlbnRpYWxEZWxldGVkQXVkaXRFdmVudFR5cGVJbnN0" + - "YW5jZQEAf0YBAH9Gf0YAAP////8QAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAtloPAAAuAES2Wg8A" + - "AA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAt1oPAAAuAES3Wg8AABH/////" + - "AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAALhaDwAALgBEuFoPAAAR/////wEB////" + - "/wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAAC5Wg8AAC4ARLlaDwAADP////8BAf////8AAAAA" + - "FWCJCgIAAAAAAAQAAABUaW1lAgAAuloPAAAuAES6Wg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + - "AAsAAABSZWNlaXZlVGltZQIAALtaDwAALgBEu1oPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAH" + - "AAAATWVzc2FnZQIAAL1aDwAALgBEvVoPAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVy" + - "aXR5AgAAvloPAAAuAES+Wg8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0" + - "YW1wAgAAw1oPAAAuAETDWg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAADE" + - "Wg8AAC4ARMRaDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAMVaDwAALgBE" + - "xVoPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIAAMZaDwAA" + - "LgBExloPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAAMdaDwAALgBE" + - "x1oPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAAyFoPAAAuAETIWg8AABH/" + - "////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADKWg8AAC4ARMpaDwAAGAEA" + + "YW5jZQEAf0YBAH9Gf0YAAP////8QAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAA3F8PAAAuAETcXw8A" + + "AA//////AQH/////AAAAABVgiQoCAAAAAAAJAAAARXZlbnRUeXBlAgAA3V8PAAAuAETdXw8AABH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTm9kZQIAAN5fDwAALgBE3l8PAAAR/////wEB////" + + "/wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5hbWUCAADfXw8AAC4ARN9fDwAADP////8BAf////8AAAAA" + + "FWCJCgIAAAAAAAQAAABUaW1lAgAA4F8PAAAuAETgXw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + + "AAsAAABSZWNlaXZlVGltZQIAAOFfDwAALgBE4V8PAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAH" + + "AAAATWVzc2FnZQIAAONfDwAALgBE418PAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVy" + + "aXR5AgAA5F8PAAAuAETkXw8AAAX/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAQWN0aW9uVGltZVN0" + + "YW1wAgAA6V8PAAAuAETpXw8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABTdGF0dXMCAADq" + + "Xw8AAC4AROpfDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXJ2ZXJJZAIAAOtfDwAALgBE" + + "618PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENsaWVudEF1ZGl0RW50cnlJZAIAAOxfDwAA" + + "LgBE7F8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENsaWVudFVzZXJJZAIAAO1fDwAALgBE" + + "7V8PAAAM/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAE1ldGhvZElkAgAA7l8PAAAuAETuXw8AABH/" + + "////AQH/////AAAAABdgiQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADwXw8AAC4ARPBfDwAAGAEA" + "AAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlc291cmNlVXJpAQCQRgAuAESQRgAAAAz/" + "////AQH/////AAAAAA=="; #endregion @@ -73976,6 +79783,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetSecurityKeysMethodStateMethodCallHandler OnCall; + + /// + public GetSecurityKeysMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -73989,6 +79799,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74030,6 +79845,53 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetSecurityKeysMethodStateResult _result = null; + + string securityGroupId = (string)_inputArguments[0]; + uint startingTokenId = (uint)_inputArguments[1]; + uint requestedKeyCount = (uint)_inputArguments[2]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupId, + startingTokenId, + requestedKeyCount, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.SecurityPolicyUri; + _outputArguments[1] = _result.FirstTokenId; + _outputArguments[2] = _result.Keys; + _outputArguments[3] = _result.TimeToNextKey; + _outputArguments[4] = _result.KeyLifetime; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74050,6 +79912,36 @@ public delegate ServiceResult GetSecurityKeysMethodStateMethodCallHandler( ref byte[][] keys, ref double timeToNextKey, ref double keyLifetime); + + /// + /// + public partial class GetSecurityKeysMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string SecurityPolicyUri { get; set; } + /// + public uint FirstTokenId { get; set; } + /// + public byte[][] Keys { get; set; } + /// + public double TimeToNextKey { get; set; } + /// + public double KeyLifetime { get; set; } + } + + + /// + /// + public delegate ValueTask GetSecurityKeysMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string securityGroupId, + uint startingTokenId, + uint requestedKeyCount, + CancellationToken cancellationToken); #endif #endregion @@ -74101,6 +79993,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetSecurityGroupMethodStateMethodCallHandler OnCall; + + /// + public GetSecurityGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -74114,6 +80009,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74139,6 +80039,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetSecurityGroupMethodStateResult _result = null; + + string securityGroupId = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.SecurityGroupNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74153,6 +80092,26 @@ public delegate ServiceResult GetSecurityGroupMethodStateMethodCallHandler( NodeId _objectId, string securityGroupId, ref NodeId securityGroupNodeId); + + /// + /// + public partial class GetSecurityGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId SecurityGroupNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask GetSecurityGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string securityGroupId, + CancellationToken cancellationToken); #endif #endregion @@ -74208,6 +80167,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddSecurityGroupMethodStateMethodCallHandler OnCall; + + /// + public AddSecurityGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -74221,6 +80183,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74257,6 +80224,54 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddSecurityGroupMethodStateResult _result = null; + + string securityGroupName = (string)_inputArguments[0]; + double keyLifetime = (double)_inputArguments[1]; + string securityPolicyUri = (string)_inputArguments[2]; + uint maxFutureKeyCount = (uint)_inputArguments[3]; + uint maxPastKeyCount = (uint)_inputArguments[4]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupName, + keyLifetime, + securityPolicyUri, + maxFutureKeyCount, + maxPastKeyCount, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.SecurityGroupId; + _outputArguments[1] = _result.SecurityGroupNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74276,6 +80291,32 @@ public delegate ServiceResult AddSecurityGroupMethodStateMethodCallHandler( uint maxPastKeyCount, ref string securityGroupId, ref NodeId securityGroupNodeId); + + /// + /// + public partial class AddSecurityGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string SecurityGroupId { get; set; } + /// + public NodeId SecurityGroupNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddSecurityGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string securityGroupName, + double keyLifetime, + string securityPolicyUri, + uint maxFutureKeyCount, + uint maxPastKeyCount, + CancellationToken cancellationToken); #endif #endregion @@ -74326,6 +80367,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveSecurityGroupMethodStateMethodCallHandler OnCall; + + /// + public RemoveSecurityGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -74339,6 +80383,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74359,6 +80408,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveSecurityGroupMethodStateResult _result = null; + + NodeId securityGroupNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74372,6 +80458,24 @@ public delegate ServiceResult RemoveSecurityGroupMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId securityGroupNodeId); + + /// + /// + public partial class RemoveSecurityGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveSecurityGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId securityGroupNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -74423,6 +80527,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddSecurityGroupFolderMethodStateMethodCallHandler OnCall; + + /// + public AddSecurityGroupFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -74436,6 +80543,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74461,6 +80573,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddSecurityGroupFolderMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.SecurityGroupFolderNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74475,6 +80626,26 @@ public delegate ServiceResult AddSecurityGroupFolderMethodStateMethodCallHandler NodeId _objectId, string name, ref NodeId securityGroupFolderNodeId); + + /// + /// + public partial class AddSecurityGroupFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId SecurityGroupFolderNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddSecurityGroupFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + CancellationToken cancellationToken); #endif #endregion @@ -74525,6 +80696,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveSecurityGroupFolderMethodStateMethodCallHandler OnCall; + + /// + public RemoveSecurityGroupFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -74538,6 +80712,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -74558,6 +80737,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveSecurityGroupFolderMethodStateResult _result = null; + + NodeId securityGroupFolderNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupFolderNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -74571,6 +80787,24 @@ public delegate ServiceResult RemoveSecurityGroupFolderMethodStateMethodCallHand MethodState _method, NodeId _objectId, NodeId securityGroupFolderNodeId); + + /// + /// + public partial class RemoveSecurityGroupFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveSecurityGroupFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId securityGroupFolderNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -75434,6 +81668,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ConnectSecurityGroupsMethodStateMethodCallHandler OnCall; + + /// + public ConnectSecurityGroupsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -75447,6 +81684,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -75472,6 +81714,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ConnectSecurityGroupsMethodStateResult _result = null; + + NodeId[] securityGroupIds = (NodeId[])_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupIds, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ConnectResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -75486,6 +81767,26 @@ public delegate ServiceResult ConnectSecurityGroupsMethodStateMethodCallHandler( NodeId _objectId, NodeId[] securityGroupIds, ref StatusCode[] connectResults); + + /// + /// + public partial class ConnectSecurityGroupsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] ConnectResults { get; set; } + } + + + /// + /// + public delegate ValueTask ConnectSecurityGroupsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId[] securityGroupIds, + CancellationToken cancellationToken); #endif #endregion @@ -75538,6 +81839,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DisconnectSecurityGroupsMethodStateMethodCallHandler OnCall; + + /// + public DisconnectSecurityGroupsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -75551,6 +81855,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -75576,6 +81885,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DisconnectSecurityGroupsMethodStateResult _result = null; + + NodeId[] securityGroupIds = (NodeId[])_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupIds, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DisconnectResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -75590,6 +81938,26 @@ public delegate ServiceResult DisconnectSecurityGroupsMethodStateMethodCallHandl NodeId _objectId, NodeId[] securityGroupIds, ref StatusCode[] disconnectResults); + + /// + /// + public partial class DisconnectSecurityGroupsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] DisconnectResults { get; set; } + } + + + /// + /// + public delegate ValueTask DisconnectSecurityGroupsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId[] securityGroupIds, + CancellationToken cancellationToken); #endif #endregion @@ -76578,6 +82946,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPushTargetMethodStateMethodCallHandler OnCall; + + /// + public AddPushTargetMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -76591,6 +82962,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -76626,6 +83002,55 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPushTargetMethodStateResult _result = null; + + string applicationUri = (string)_inputArguments[0]; + string endpointUrl = (string)_inputArguments[1]; + string securityPolicyUri = (string)_inputArguments[2]; + UserTokenPolicy userTokenType = (UserTokenPolicy)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[3]); + ushort requestedKeyCount = (ushort)_inputArguments[4]; + double retryInterval = (double)_inputArguments[5]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + applicationUri, + endpointUrl, + securityPolicyUri, + userTokenType, + requestedKeyCount, + retryInterval, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.PushTargetId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -76645,6 +83070,31 @@ public delegate ServiceResult AddPushTargetMethodStateMethodCallHandler( ushort requestedKeyCount, double retryInterval, ref NodeId pushTargetId); + + /// + /// + public partial class AddPushTargetMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId PushTargetId { get; set; } + } + + + /// + /// + public delegate ValueTask AddPushTargetMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string applicationUri, + string endpointUrl, + string securityPolicyUri, + UserTokenPolicy userTokenType, + ushort requestedKeyCount, + double retryInterval, + CancellationToken cancellationToken); #endif #endregion @@ -76694,6 +83144,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemovePushTargetMethodStateMethodCallHandler OnCall; + + /// + public RemovePushTargetMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -76707,6 +83160,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -76727,6 +83185,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemovePushTargetMethodStateResult _result = null; + + NodeId pushTargetId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + pushTargetId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -76740,6 +83235,24 @@ public delegate ServiceResult RemovePushTargetMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId pushTargetId); + + /// + /// + public partial class RemovePushTargetMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemovePushTargetMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId pushTargetId, + CancellationToken cancellationToken); #endif #endregion @@ -76791,6 +83304,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPushTargetFolderMethodStateMethodCallHandler OnCall; + + /// + public AddPushTargetFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -76804,6 +83320,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -76829,6 +83350,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPushTargetFolderMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.PushTargetFolderNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -76843,6 +83403,26 @@ public delegate ServiceResult AddPushTargetFolderMethodStateMethodCallHandler( NodeId _objectId, string name, ref NodeId pushTargetFolderNodeId); + + /// + /// + public partial class AddPushTargetFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId PushTargetFolderNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddPushTargetFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + CancellationToken cancellationToken); #endif #endregion @@ -76893,6 +83473,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemovePushTargetFolderMethodStateMethodCallHandler OnCall; + + /// + public RemovePushTargetFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -76906,6 +83489,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -76926,6 +83514,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemovePushTargetFolderMethodStateResult _result = null; + + NodeId pushTargetFolderNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + pushTargetFolderNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -76939,6 +83564,24 @@ public delegate ServiceResult RemovePushTargetFolderMethodStateMethodCallHandler MethodState _method, NodeId _objectId, NodeId pushTargetFolderNodeId); + + /// + /// + public partial class RemovePushTargetFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemovePushTargetFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId pushTargetFolderNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -78098,6 +84741,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public SetSecurityKeysMethodStateMethodCallHandler OnCall; + + /// + public SetSecurityKeysMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -78111,6 +84757,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -78143,6 +84794,55 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + SetSecurityKeysMethodStateResult _result = null; + + string securityGroupId = (string)_inputArguments[0]; + string securityPolicyUri = (string)_inputArguments[1]; + uint currentTokenId = (uint)_inputArguments[2]; + byte[] currentKey = (byte[])_inputArguments[3]; + byte[][] futureKeys = (byte[][])_inputArguments[4]; + double timeToNextKey = (double)_inputArguments[5]; + double keyLifetime = (double)_inputArguments[6]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + securityGroupId, + securityPolicyUri, + currentTokenId, + currentKey, + futureKeys, + timeToNextKey, + keyLifetime, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -78162,6 +84862,30 @@ public delegate ServiceResult SetSecurityKeysMethodStateMethodCallHandler( byte[][] futureKeys, double timeToNextKey, double keyLifetime); + + /// + /// + public partial class SetSecurityKeysMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask SetSecurityKeysMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string securityGroupId, + string securityPolicyUri, + uint currentTokenId, + byte[] currentKey, + byte[][] futureKeys, + double timeToNextKey, + double keyLifetime, + CancellationToken cancellationToken); #endif #endregion @@ -78213,6 +84937,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddConnectionMethodStateMethodCallHandler OnCall; + + /// + public AddConnectionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -78226,6 +84953,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -78251,6 +84983,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddConnectionMethodStateResult _result = null; + + PubSubConnectionDataType configuration = (PubSubConnectionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ConnectionId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -78265,6 +85036,26 @@ public delegate ServiceResult AddConnectionMethodStateMethodCallHandler( NodeId _objectId, PubSubConnectionDataType configuration, ref NodeId connectionId); + + /// + /// + public partial class AddConnectionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId ConnectionId { get; set; } + } + + + /// + /// + public delegate ValueTask AddConnectionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + PubSubConnectionDataType configuration, + CancellationToken cancellationToken); #endif #endregion @@ -78314,6 +85105,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveConnectionMethodStateMethodCallHandler OnCall; + + /// + public RemoveConnectionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -78327,6 +85121,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -78347,6 +85146,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveConnectionMethodStateResult _result = null; + + NodeId connectionId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + connectionId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -78360,6 +85196,24 @@ public delegate ServiceResult RemoveConnectionMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId connectionId); + + /// + /// + public partial class RemoveConnectionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveConnectionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId connectionId, + CancellationToken cancellationToken); #endif #endregion @@ -78407,31 +85261,31 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAHwAAAFB1YlN1YkNvbmZpZ3VyYXRpb25UeXBlSW5zdGFuY2UBAIpjAQCK" + - "Y4pjAAD/////DAAAABVgiQoCAAAAAAAEAAAAU2l6ZQIAADJbDwAALgBEMlsPAAAJ/////wEB/////wAA" + - "AAAVYIkKAgAAAAAACAAAAFdyaXRhYmxlAgAAM1sPAAAuAEQzWw8AAAH/////AQH/////AAAAABVgiQoC" + - "AAAAAAAMAAAAVXNlcldyaXRhYmxlAgAANFsPAAAuAEQ0Ww8AAAH/////AQH/////AAAAABVgiQoCAAAA" + - "AAAJAAAAT3BlbkNvdW50AgAANVsPAAAuAEQ1Ww8AAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAA" + - "T3BlbgIAADlbDwAALwEAPC05Ww8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMC" + - "AAA6Ww8AAC4ARDpbDwCWAQAAAAEAKgEBEwAAAAQAAABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAAB" + - "AAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAO1sPAAAuAEQ7Ww8AlgEA" + + "Y4pjAAD/////DAAAABVgiQoCAAAAAAAEAAAAU2l6ZQIAAFhgDwAALgBEWGAPAAAJ/////wEB/////wAA" + + "AAAVYIkKAgAAAAAACAAAAFdyaXRhYmxlAgAAWWAPAAAuAERZYA8AAAH/////AQH/////AAAAABVgiQoC" + + "AAAAAAAMAAAAVXNlcldyaXRhYmxlAgAAWmAPAAAuAERaYA8AAAH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAJAAAAT3BlbkNvdW50AgAAW2APAAAuAERbYA8AAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAA" + + "T3BlbgIAAF9gDwAALwEAPC1fYA8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMC" + + "AABgYA8AAC4ARGBgDwCWAQAAAAEAKgEBEwAAAAQAAABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAAB" + + "AAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAYWAPAAAuAERhYA8AlgEA" + "AAABACoBARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAA" + - "AAAEYYIKBAAAAAAABQAAAENsb3NlAgAAPFsPAAAvAQA/LTxbDwABAf////8BAAAAF2CpCgIAAAAAAA4A" + - "AABJbnB1dEFyZ3VtZW50cwIAAD1bDwAALgBEPVsPAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUA" + - "B/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAQAAABSZWFkAgAAPlsP" + - "AAAvAQBBLT5bDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAD9bDwAALgBE" + - "P1sPAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBFQAAAAYAAABMZW5n" + + "AAAEYYIKBAAAAAAABQAAAENsb3NlAgAAYmAPAAAvAQA/LWJgDwABAf////8BAAAAF2CpCgIAAAAAAA4A" + + "AABJbnB1dEFyZ3VtZW50cwIAAGNgDwAALgBEY2APAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUA" + + "B/////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAQAAABSZWFkAgAAZGAP" + + "AAAvAQBBLWRgDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAGVgDwAALgBE" + + "ZWAPAJYCAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBFQAAAAYAAABMZW5n" + "dGgABv////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRB" + - "cmd1bWVudHMCAABAWw8AAC4AREBbDwCWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgB" + - "AQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUCAABBWw8AAC8BAEQtQVsPAAEB" + - "/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAQlsPAAAuAERCWw8AlgIAAAABACoB" + + "cmd1bWVudHMCAABmYA8AAC4ARGZgDwCWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgB" + + "AQAAAAEAAAABAAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUCAABnYA8AAC8BAEQtZ2APAAEB" + + "/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAAaGAPAAAuAERoYA8AlgIAAAABACoB" + "ARkAAAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQETAAAABAAAAERhdGEAD/////8AAAAAAAEA" + - "KAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgIAAENbDwAALwEA" + - "Ri1DWw8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAABEWw8AAC4ARERbDwCW" + + "KAEBAAAAAQAAAAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgIAAGlgDwAALwEA" + + "Ri1pYA8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAABqYA8AAC4ARGpgDwCW" + "AQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAARVsPAAAuAERFWw8AlgEAAAABACoBARcA" + + "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAa2APAAAuAERrYA8AlgEAAAABACoBARcA" + "AAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAA" + - "AAsAAABTZXRQb3NpdGlvbgIAAEZbDwAALwEASS1GWw8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5w" + - "dXRBcmd1bWVudHMCAABHWw8AAC4AREdbDwCWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////" + + "AAsAAABTZXRQb3NpdGlvbgIAAGxgDwAALwEASS1sYA8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5w" + + "dXRBcmd1bWVudHMCAABtYA8AAC4ARG1gDwCWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////" + "AAAAAAABACoBARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8A" + "AAAABGGCCgQAAAAAAAoAAABSZXNlcnZlSWRzAQChYwAvAQChY6FjAAABAf////8CAAAAF2CpCgIAAAAA" + "AA4AAABJbnB1dEFyZ3VtZW50cwEAomMALgBEomMAAJYDAAAAAQAqAQEiAAAAEwAAAFRyYW5zcG9ydFBy" + @@ -78641,6 +85495,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubConfigurationTypeReserveIdsMethodStateMethodCallHandler OnCall; + + /// + public PubSubConfigurationTypeReserveIdsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -78654,6 +85511,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -78689,6 +85551,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubConfigurationTypeReserveIdsMethodStateResult _result = null; + + string transportProfileUri = (string)_inputArguments[0]; + ushort numReqWriterGroupIds = (ushort)_inputArguments[1]; + ushort numReqDataSetWriterIds = (ushort)_inputArguments[2]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + transportProfileUri, + numReqWriterGroupIds, + numReqDataSetWriterIds, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DefaultPublisherId; + _outputArguments[1] = _result.WriterGroupIds; + _outputArguments[2] = _result.DataSetWriterIds; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -78707,6 +85614,32 @@ public delegate ServiceResult PubSubConfigurationTypeReserveIdsMethodStateMethod ref object defaultPublisherId, ref ushort[] writerGroupIds, ref ushort[] dataSetWriterIds); + + /// + /// + public partial class PubSubConfigurationTypeReserveIdsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public object DefaultPublisherId { get; set; } + /// + public ushort[] WriterGroupIds { get; set; } + /// + public ushort[] DataSetWriterIds { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubConfigurationTypeReserveIdsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string transportProfileUri, + ushort numReqWriterGroupIds, + ushort numReqDataSetWriterIds, + CancellationToken cancellationToken); #endif #endregion @@ -78763,6 +85696,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubConfigurationTypeCloseAndUpdateMethodStateMethodCallHandler OnCall; + + /// + public PubSubConfigurationTypeCloseAndUpdateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -78776,6 +85712,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -78814,6 +85755,52 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubConfigurationTypeCloseAndUpdateMethodStateResult _result = null; + + uint fileHandle = (uint)_inputArguments[0]; + bool requireCompleteUpdate = (bool)_inputArguments[1]; + PubSubConfigurationRefDataType[] configurationReferences = (PubSubConfigurationRefDataType[])ExtensionObject.ToArray(_inputArguments[2], typeof(PubSubConfigurationRefDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fileHandle, + requireCompleteUpdate, + configurationReferences, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ChangesApplied; + _outputArguments[1] = _result.ReferencesResults; + _outputArguments[2] = _result.ConfigurationValues; + _outputArguments[3] = _result.ConfigurationObjects; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -78833,6 +85820,34 @@ public delegate ServiceResult PubSubConfigurationTypeCloseAndUpdateMethodStateMe ref StatusCode[] referencesResults, ref PubSubConfigurationValueDataType[] configurationValues, ref NodeId[] configurationObjects); + + /// + /// + public partial class PubSubConfigurationTypeCloseAndUpdateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public bool ChangesApplied { get; set; } + /// + public StatusCode[] ReferencesResults { get; set; } + /// + public PubSubConfigurationValueDataType[] ConfigurationValues { get; set; } + /// + public NodeId[] ConfigurationObjects { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubConfigurationTypeCloseAndUpdateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + uint fileHandle, + bool requireCompleteUpdate, + PubSubConfigurationRefDataType[] configurationReferences, + CancellationToken cancellationToken); #endif #endregion @@ -79444,6 +86459,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddExtensionFieldMethodStateMethodCallHandler OnCall; + + /// + public AddExtensionFieldMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -79457,6 +86475,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -79484,6 +86507,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddExtensionFieldMethodStateResult _result = null; + + QualifiedName fieldName = (QualifiedName)_inputArguments[0]; + object fieldValue = (object)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fieldName, + fieldValue, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.FieldId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -79499,6 +86563,27 @@ public delegate ServiceResult AddExtensionFieldMethodStateMethodCallHandler( QualifiedName fieldName, object fieldValue, ref NodeId fieldId); + + /// + /// + public partial class AddExtensionFieldMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId FieldId { get; set; } + } + + + /// + /// + public delegate ValueTask AddExtensionFieldMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + QualifiedName fieldName, + object fieldValue, + CancellationToken cancellationToken); #endif #endregion @@ -79548,6 +86633,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveExtensionFieldMethodStateMethodCallHandler OnCall; + + /// + public RemoveExtensionFieldMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -79561,6 +86649,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -79581,6 +86674,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveExtensionFieldMethodStateResult _result = null; + + NodeId fieldId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + fieldId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -79594,6 +86724,24 @@ public delegate ServiceResult RemoveExtensionFieldMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId fieldId); + + /// + /// + public partial class RemoveExtensionFieldMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveExtensionFieldMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId fieldId, + CancellationToken cancellationToken); #endif #endregion @@ -79670,9 +86818,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAHgAAAFB1Ymxpc2hlZERhdGFJdGVtc1R5cGVJbnN0YW5jZQEAxjgBAMY4" + - "xjgAAP////8FAAAAFWCJCgIAAAAAABQAAABDb25maWd1cmF0aW9uVmVyc2lvbgIAAI5bDwAALgBEjlsP" + - "AAEAATn/////AQH/////AAAAABVgiQoCAAAAAAAPAAAARGF0YVNldE1ldGFEYXRhAgAAj1sPAAAuAESP" + - "Ww8AAQC7OP////8BAf////8AAAAAF2CJCgIAAAAAAA0AAABQdWJsaXNoZWREYXRhAQDUOAAuAETUOAAA" + + "xjgAAP////8FAAAAFWCJCgIAAAAAABQAAABDb25maWd1cmF0aW9uVmVyc2lvbgIAALRgDwAALgBEtGAP" + + "AAEAATn/////AQH/////AAAAABVgiQoCAAAAAAAPAAAARGF0YVNldE1ldGFEYXRhAgAAtWAPAAAuAES1" + + "YA8AAQC7OP////8BAf////8AAAAAF2CJCgIAAAAAAA0AAABQdWJsaXNoZWREYXRhAQDUOAAuAETUOAAA" + "AQDBNwEAAAABAAAAAAAAAAEB/////wAAAAAEYYIKBAAAAAAADAAAAEFkZFZhcmlhYmxlcwEA2zgALwEA" + "2zjbOAAAAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBANw4AC4ARNw4AACWBAAA" + "AAEAKgEBJQAAABQAAABDb25maWd1cmF0aW9uVmVyc2lvbgEAATn/////AAAAAAABACoBASMAAAAQAAAA" + @@ -79925,6 +87073,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PublishedDataItemsAddVariablesMethodStateMethodCallHandler OnCall; + + /// + public PublishedDataItemsAddVariablesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -79938,6 +87089,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -79972,6 +87128,52 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PublishedDataItemsAddVariablesMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + string[] fieldNameAliases = (string[])_inputArguments[1]; + bool[] promotedFields = (bool[])_inputArguments[2]; + PublishedVariableDataType[] variablesToAdd = (PublishedVariableDataType[])ExtensionObject.ToArray(_inputArguments[3], typeof(PublishedVariableDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + fieldNameAliases, + promotedFields, + variablesToAdd, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewConfigurationVersion; + _outputArguments[1] = _result.AddResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -79990,6 +87192,31 @@ public delegate ServiceResult PublishedDataItemsAddVariablesMethodStateMethodCal PublishedVariableDataType[] variablesToAdd, ref ConfigurationVersionDataType newConfigurationVersion, ref StatusCode[] addResults); + + /// + /// + public partial class PublishedDataItemsAddVariablesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ConfigurationVersionDataType NewConfigurationVersion { get; set; } + /// + public StatusCode[] AddResults { get; set; } + } + + + /// + /// + public delegate ValueTask PublishedDataItemsAddVariablesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + string[] fieldNameAliases, + bool[] promotedFields, + PublishedVariableDataType[] variablesToAdd, + CancellationToken cancellationToken); #endif #endregion @@ -80043,6 +87270,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PublishedDataItemsRemoveVariablesMethodStateMethodCallHandler OnCall; + + /// + public PublishedDataItemsRemoveVariablesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -80056,6 +87286,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -80086,6 +87321,48 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PublishedDataItemsRemoveVariablesMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + uint[] variablesToRemove = (uint[])_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + variablesToRemove, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewConfigurationVersion; + _outputArguments[1] = _result.RemoveResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -80102,6 +87379,29 @@ public delegate ServiceResult PublishedDataItemsRemoveVariablesMethodStateMethod uint[] variablesToRemove, ref ConfigurationVersionDataType newConfigurationVersion, ref StatusCode[] removeResults); + + /// + /// + public partial class PublishedDataItemsRemoveVariablesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ConfigurationVersionDataType NewConfigurationVersion { get; set; } + /// + public StatusCode[] RemoveResults { get; set; } + } + + + /// + /// + public delegate ValueTask PublishedDataItemsRemoveVariablesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + uint[] variablesToRemove, + CancellationToken cancellationToken); #endif #endregion @@ -80164,8 +87464,8 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAGwAAAFB1Ymxpc2hlZEV2ZW50c1R5cGVJbnN0YW5jZQEA7DgBAOw47DgA" + - "AP////8GAAAAFWCJCgIAAAAAABQAAABDb25maWd1cmF0aW9uVmVyc2lvbgIAAN5bDwAALgBE3lsPAAEA" + - "ATn/////AQH/////AAAAABVgiQoCAAAAAAAPAAAARGF0YVNldE1ldGFEYXRhAgAA31sPAAAuAETfWw8A" + + "AP////8GAAAAFWCJCgIAAAAAABQAAABDb25maWd1cmF0aW9uVmVyc2lvbgIAAARhDwAALgBEBGEPAAEA" + + "ATn/////AQH/////AAAAABVgiQoCAAAAAAAPAAAARGF0YVNldE1ldGFEYXRhAgAABWEPAAAuAEQFYQ8A" + "AQC7OP////8BAf////8AAAAAFWDJCgIAAAATAAAAUHViU3ViRXZlbnROb3RpZmllcgAADQAAAEV2ZW50" + "Tm90aWZpZXIBAPo4AC4ARPo4AAAAEf////8BAf////8AAAAAF2CJCgIAAAAAAA4AAABTZWxlY3RlZEZp" + "ZWxkcwEA+zgALgBE+zgAAAEAWQIBAAAAAQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAAAAYAAABGaWx0" + @@ -81006,6 +88306,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PublishedEventsTypeModifyFieldSelectionMethodStateMethodCallHandler OnCall; + + /// + public PublishedEventsTypeModifyFieldSelectionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81019,6 +88322,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81050,6 +88358,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PublishedEventsTypeModifyFieldSelectionMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + string[] fieldNameAliases = (string[])_inputArguments[1]; + bool[] promotedFields = (bool[])_inputArguments[2]; + SimpleAttributeOperand[] selectedFields = (SimpleAttributeOperand[])ExtensionObject.ToArray(_inputArguments[3], typeof(SimpleAttributeOperand)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + fieldNameAliases, + promotedFields, + selectedFields, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewConfigurationVersion; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81067,6 +88420,29 @@ public delegate ServiceResult PublishedEventsTypeModifyFieldSelectionMethodState bool[] promotedFields, SimpleAttributeOperand[] selectedFields, ref ConfigurationVersionDataType newConfigurationVersion); + + /// + /// + public partial class PublishedEventsTypeModifyFieldSelectionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ConfigurationVersionDataType NewConfigurationVersion { get; set; } + } + + + /// + /// + public delegate ValueTask PublishedEventsTypeModifyFieldSelectionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + string[] fieldNameAliases, + bool[] promotedFields, + SimpleAttributeOperand[] selectedFields, + CancellationToken cancellationToken); #endif #endregion @@ -81122,6 +88498,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPublishedDataItemsMethodStateMethodCallHandler OnCall; + + /// + public AddPublishedDataItemsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81135,6 +88514,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81172,6 +88556,53 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPublishedDataItemsMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + string[] fieldNameAliases = (string[])_inputArguments[1]; + ushort[] fieldFlags = (ushort[])_inputArguments[2]; + PublishedVariableDataType[] variablesToAdd = (PublishedVariableDataType[])ExtensionObject.ToArray(_inputArguments[3], typeof(PublishedVariableDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + fieldNameAliases, + fieldFlags, + variablesToAdd, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetNodeId; + _outputArguments[1] = _result.ConfigurationVersion; + _outputArguments[2] = _result.AddResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81191,6 +88622,33 @@ public delegate ServiceResult AddPublishedDataItemsMethodStateMethodCallHandler( ref NodeId dataSetNodeId, ref ConfigurationVersionDataType configurationVersion, ref StatusCode[] addResults); + + /// + /// + public partial class AddPublishedDataItemsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetNodeId { get; set; } + /// + public ConfigurationVersionDataType ConfigurationVersion { get; set; } + /// + public StatusCode[] AddResults { get; set; } + } + + + /// + /// + public delegate ValueTask AddPublishedDataItemsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + string[] fieldNameAliases, + ushort[] fieldFlags, + PublishedVariableDataType[] variablesToAdd, + CancellationToken cancellationToken); #endif #endregion @@ -81246,6 +88704,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPublishedEventsMethodStateMethodCallHandler OnCall; + + /// + public AddPublishedEventsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81259,6 +88720,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81297,6 +88763,56 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPublishedEventsMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + NodeId eventNotifier = (NodeId)_inputArguments[1]; + string[] fieldNameAliases = (string[])_inputArguments[2]; + ushort[] fieldFlags = (ushort[])_inputArguments[3]; + SimpleAttributeOperand[] selectedFields = (SimpleAttributeOperand[])ExtensionObject.ToArray(_inputArguments[4], typeof(SimpleAttributeOperand)); + ContentFilter filter = (ContentFilter)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[5]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + eventNotifier, + fieldNameAliases, + fieldFlags, + selectedFields, + filter, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ConfigurationVersion; + _outputArguments[1] = _result.DataSetNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81317,6 +88833,33 @@ public delegate ServiceResult AddPublishedEventsMethodStateMethodCallHandler( ContentFilter filter, ref ConfigurationVersionDataType configurationVersion, ref NodeId dataSetNodeId); + + /// + /// + public partial class AddPublishedEventsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ConfigurationVersionDataType ConfigurationVersion { get; set; } + /// + public NodeId DataSetNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddPublishedEventsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + NodeId eventNotifier, + string[] fieldNameAliases, + ushort[] fieldFlags, + SimpleAttributeOperand[] selectedFields, + ContentFilter filter, + CancellationToken cancellationToken); #endif #endregion @@ -81370,6 +88913,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPublishedDataItemsTemplateMethodStateMethodCallHandler OnCall; + + /// + public AddPublishedDataItemsTemplateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81383,6 +88929,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81415,6 +88966,50 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPublishedDataItemsTemplateMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + DataSetMetaDataType dataSetMetaData = (DataSetMetaDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[1]); + PublishedVariableDataType[] variablesToAdd = (PublishedVariableDataType[])ExtensionObject.ToArray(_inputArguments[2], typeof(PublishedVariableDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + dataSetMetaData, + variablesToAdd, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetNodeId; + _outputArguments[1] = _result.AddResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81432,6 +89027,30 @@ public delegate ServiceResult AddPublishedDataItemsTemplateMethodStateMethodCall PublishedVariableDataType[] variablesToAdd, ref NodeId dataSetNodeId, ref StatusCode[] addResults); + + /// + /// + public partial class AddPublishedDataItemsTemplateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetNodeId { get; set; } + /// + public StatusCode[] AddResults { get; set; } + } + + + /// + /// + public delegate ValueTask AddPublishedDataItemsTemplateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + DataSetMetaDataType dataSetMetaData, + PublishedVariableDataType[] variablesToAdd, + CancellationToken cancellationToken); #endif #endregion @@ -81486,6 +89105,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPublishedEventsTemplateMethodStateMethodCallHandler OnCall; + + /// + public AddPublishedEventsTemplateMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81499,6 +89121,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81532,6 +89159,53 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPublishedEventsTemplateMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + DataSetMetaDataType dataSetMetaData = (DataSetMetaDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[1]); + NodeId eventNotifier = (NodeId)_inputArguments[2]; + SimpleAttributeOperand[] selectedFields = (SimpleAttributeOperand[])ExtensionObject.ToArray(_inputArguments[3], typeof(SimpleAttributeOperand)); + ContentFilter filter = (ContentFilter)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[4]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + dataSetMetaData, + eventNotifier, + selectedFields, + filter, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81550,6 +89224,30 @@ public delegate ServiceResult AddPublishedEventsTemplateMethodStateMethodCallHan SimpleAttributeOperand[] selectedFields, ContentFilter filter, ref NodeId dataSetNodeId); + + /// + /// + public partial class AddPublishedEventsTemplateMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddPublishedEventsTemplateMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + DataSetMetaDataType dataSetMetaData, + NodeId eventNotifier, + SimpleAttributeOperand[] selectedFields, + ContentFilter filter, + CancellationToken cancellationToken); #endif #endregion @@ -81600,6 +89298,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemovePublishedDataSetMethodStateMethodCallHandler OnCall; + + /// + public RemovePublishedDataSetMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81613,6 +89314,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81633,6 +89339,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemovePublishedDataSetMethodStateResult _result = null; + + NodeId dataSetNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + dataSetNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81646,6 +89389,24 @@ public delegate ServiceResult RemovePublishedDataSetMethodStateMethodCallHandler MethodState _method, NodeId _objectId, NodeId dataSetNodeId); + + /// + /// + public partial class RemovePublishedDataSetMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemovePublishedDataSetMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId dataSetNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -81697,6 +89458,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddDataSetFolderMethodStateMethodCallHandler OnCall; + + /// + public AddDataSetFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81710,6 +89474,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81735,6 +89504,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddDataSetFolderMethodStateResult _result = null; + + string name = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + name, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetFolderNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81749,6 +89557,26 @@ public delegate ServiceResult AddDataSetFolderMethodStateMethodCallHandler( NodeId _objectId, string name, ref NodeId dataSetFolderNodeId); + + /// + /// + public partial class AddDataSetFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetFolderNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddDataSetFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string name, + CancellationToken cancellationToken); #endif #endregion @@ -81799,6 +89627,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveDataSetFolderMethodStateMethodCallHandler OnCall; + + /// + public RemoveDataSetFolderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -81812,6 +89643,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -81832,6 +89668,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveDataSetFolderMethodStateResult _result = null; + + NodeId dataSetFolderNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + dataSetFolderNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -81845,6 +89718,24 @@ public delegate ServiceResult RemoveDataSetFolderMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, NodeId dataSetFolderNodeId); + + /// + /// + public partial class RemoveDataSetFolderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveDataSetFolderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId dataSetFolderNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -82597,6 +90488,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetConnectionMethodStateMethodCallHandler OnCall; + + /// + public GetConnectionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -82610,6 +90504,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -82638,6 +90537,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetConnectionMethodStateResult _result = null; + + bool includeChildren = (bool)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + includeChildren, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Configuration; + _outputArguments[1] = _result.CheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -82653,6 +90592,28 @@ public delegate ServiceResult GetConnectionMethodStateMethodCallHandler( bool includeChildren, ref PubSubConnectionDataType configuration, ref byte[] checkSum); + + /// + /// + public partial class GetConnectionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public PubSubConnectionDataType Configuration { get; set; } + /// + public byte[] CheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask GetConnectionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + bool includeChildren, + CancellationToken cancellationToken); #endif #endregion @@ -82706,6 +90667,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyConnectionMethodStateMethodCallHandler OnCall; + + /// + public ModifyConnectionMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -82719,6 +90683,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -82750,6 +90719,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyConnectionMethodStateResult _result = null; + + PubSubConnectionDataType configuration = (PubSubConnectionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + bool modifyChildren = (bool)_inputArguments[1]; + byte[] checkSum = (byte[])_inputArguments[2]; + bool force = (bool)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + modifyChildren, + checkSum, + force, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewCheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -82767,6 +90781,29 @@ public delegate ServiceResult ModifyConnectionMethodStateMethodCallHandler( byte[] checkSum, bool force, ref byte[] newCheckSum); + + /// + /// + public partial class ModifyConnectionMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] NewCheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyConnectionMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + PubSubConnectionDataType configuration, + bool modifyChildren, + byte[] checkSum, + bool force, + CancellationToken cancellationToken); #endif #endregion @@ -82819,6 +90856,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubConnectionTypeAddWriterGroupMethodStateMethodCallHandler OnCall; + + /// + public PubSubConnectionTypeAddWriterGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -82832,6 +90872,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -82857,6 +90902,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubConnectionTypeAddWriterGroupMethodStateResult _result = null; + + WriterGroupDataType configuration = (WriterGroupDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.GroupId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -82871,6 +90955,26 @@ public delegate ServiceResult PubSubConnectionTypeAddWriterGroupMethodStateMetho NodeId _objectId, WriterGroupDataType configuration, ref NodeId groupId); + + /// + /// + public partial class PubSubConnectionTypeAddWriterGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId GroupId { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubConnectionTypeAddWriterGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + WriterGroupDataType configuration, + CancellationToken cancellationToken); #endif #endregion @@ -82923,6 +91027,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubConnectionAddReaderGroupGroupMethodStateMethodCallHandler OnCall; + + /// + public PubSubConnectionAddReaderGroupGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -82936,6 +91043,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -82961,6 +91073,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubConnectionAddReaderGroupGroupMethodStateResult _result = null; + + ReaderGroupDataType configuration = (ReaderGroupDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.GroupId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -82975,6 +91126,26 @@ public delegate ServiceResult PubSubConnectionAddReaderGroupGroupMethodStateMeth NodeId _objectId, ReaderGroupDataType configuration, ref NodeId groupId); + + /// + /// + public partial class PubSubConnectionAddReaderGroupGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId GroupId { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubConnectionAddReaderGroupGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ReaderGroupDataType configuration, + CancellationToken cancellationToken); #endif #endregion @@ -83025,6 +91196,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubConnectionTypeRemoveGroupMethodStateMethodCallHandler OnCall; + + /// + public PubSubConnectionTypeRemoveGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -83038,6 +91212,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -83058,6 +91237,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubConnectionTypeRemoveGroupMethodStateResult _result = null; + + NodeId groupId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + groupId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -83071,6 +91287,24 @@ public delegate ServiceResult PubSubConnectionTypeRemoveGroupMethodStateMethodCa MethodState _method, NodeId _objectId, NodeId groupId); + + /// + /// + public partial class PubSubConnectionTypeRemoveGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubConnectionTypeRemoveGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId groupId, + CancellationToken cancellationToken); #endif #endregion @@ -83670,11 +91904,11 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAFwAAAFdyaXRlckdyb3VwVHlwZUluc3RhbmNlAQA9RQEAPUU9RQAA////" + - "/w8AAAAVYIkKAgAAAAAADAAAAFNlY3VyaXR5TW9kZQIAAOhbDwAALgBE6FsPAAEALgH/////AQH/////" + - "AAAAABVgiQoCAAAAAAAVAAAATWF4TmV0d29ya01lc3NhZ2VTaXplAgAA61sPAAAuAETrWw8AAAf/////" + - "AQH/////AAAAABdgiQoCAAAAAAAPAAAAR3JvdXBQcm9wZXJ0aWVzAgAA7FsPAAAuAETsWw8AAQDFOAEA" + - "AAABAAAAAAAAAAEB/////wAAAAAEYIAKAQAAAAAABgAAAFN0YXR1cwIAAO1bDwAALwEAMzntWw8A////" + - "/wEAAAAVYIkKAgAAAAAABQAAAFN0YXRlAgAA7lsPAAAvAD/uWw8AAQA3Of////8BAf////8AAAAAFWCJ" + + "/w8AAAAVYIkKAgAAAAAADAAAAFNlY3VyaXR5TW9kZQIAAA5hDwAALgBEDmEPAAEALgH/////AQH/////" + + "AAAAABVgiQoCAAAAAAAVAAAATWF4TmV0d29ya01lc3NhZ2VTaXplAgAAEWEPAAAuAEQRYQ8AAAf/////" + + "AQH/////AAAAABdgiQoCAAAAAAAPAAAAR3JvdXBQcm9wZXJ0aWVzAgAAEmEPAAAuAEQSYQ8AAQDFOAEA" + + "AAABAAAAAAAAAAEB/////wAAAAAEYIAKAQAAAAAABgAAAFN0YXR1cwIAABNhDwAALwEAMzkTYQ8A////" + + "/wEAAAAVYIkKAgAAAAAABQAAAFN0YXRlAgAAFGEPAAAvAD8UYQ8AAQA3Of////8BAf////8AAAAAFWCJ" + "CgIAAAAAAA0AAABXcml0ZXJHcm91cElkAQBIRQAuAERIRQAAAAX/////AQH/////AAAAABVgiQoCAAAA" + "AAASAAAAUHVibGlzaGluZ0ludGVydmFsAQBJRQAuAERJRQAAAQAiAf////8BAf////8AAAAAFWCJCgIA" + "AAAAAA0AAABLZWVwQWxpdmVUaW1lAQBKRQAuAERKRQAAAQAiAf////8BAf////8AAAAAFWCJCgIAAAAA" + @@ -84345,6 +92579,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetWriterGroupMethodStateMethodCallHandler OnCall; + + /// + public GetWriterGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -84358,6 +92595,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -84386,6 +92628,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetWriterGroupMethodStateResult _result = null; + + bool includeChildren = (bool)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + includeChildren, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Configuration; + _outputArguments[1] = _result.CheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -84401,6 +92683,28 @@ public delegate ServiceResult GetWriterGroupMethodStateMethodCallHandler( bool includeChildren, ref WriterGroupDataType configuration, ref byte[] checkSum); + + /// + /// + public partial class GetWriterGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public WriterGroupDataType Configuration { get; set; } + /// + public byte[] CheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask GetWriterGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + bool includeChildren, + CancellationToken cancellationToken); #endif #endregion @@ -84454,6 +92758,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyWriterGroupMethodStateMethodCallHandler OnCall; + + /// + public ModifyWriterGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -84467,6 +92774,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -84498,6 +92810,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyWriterGroupMethodStateResult _result = null; + + WriterGroupDataType configuration = (WriterGroupDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + bool modifyChildren = (bool)_inputArguments[1]; + byte[] checkSum = (byte[])_inputArguments[2]; + bool force = (bool)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + modifyChildren, + checkSum, + force, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewCheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -84515,6 +92872,29 @@ public delegate ServiceResult ModifyWriterGroupMethodStateMethodCallHandler( byte[] checkSum, bool force, ref byte[] newCheckSum); + + /// + /// + public partial class ModifyWriterGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] NewCheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyWriterGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + WriterGroupDataType configuration, + bool modifyChildren, + byte[] checkSum, + bool force, + CancellationToken cancellationToken); #endif #endregion @@ -84567,6 +92947,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubGroupTypeAddWriterMethodStateMethodCallHandler OnCall; + + /// + public PubSubGroupTypeAddWriterMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -84580,6 +92963,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -84605,6 +92993,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubGroupTypeAddWriterMethodStateResult _result = null; + + DataSetWriterDataType configuration = (DataSetWriterDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetWriterNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -84619,6 +93046,26 @@ public delegate ServiceResult PubSubGroupTypeAddWriterMethodStateMethodCallHandl NodeId _objectId, DataSetWriterDataType configuration, ref NodeId dataSetWriterNodeId); + + /// + /// + public partial class PubSubGroupTypeAddWriterMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetWriterNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubGroupTypeAddWriterMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DataSetWriterDataType configuration, + CancellationToken cancellationToken); #endif #endregion @@ -84669,6 +93116,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubGroupTypeRemoveWriterMethodStateMethodCallHandler OnCall; + + /// + public PubSubGroupTypeRemoveWriterMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -84682,6 +93132,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -84702,6 +93157,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubGroupTypeRemoveWriterMethodStateResult _result = null; + + NodeId dataSetWriterNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + dataSetWriterNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -84715,6 +93207,24 @@ public delegate ServiceResult PubSubGroupTypeRemoveWriterMethodStateMethodCallHa MethodState _method, NodeId _objectId, NodeId dataSetWriterNodeId); + + /// + /// + public partial class PubSubGroupTypeRemoveWriterMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubGroupTypeRemoveWriterMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId dataSetWriterNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -84975,11 +93485,11 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAFwAAAFJlYWRlckdyb3VwVHlwZUluc3RhbmNlAQBPRgEAT0ZPRgAA////" + - "/wkAAAAVYIkKAgAAAAAADAAAAFNlY3VyaXR5TW9kZQIAAPFbDwAALgBE8VsPAAEALgH/////AQH/////" + - "AAAAABVgiQoCAAAAAAAVAAAATWF4TmV0d29ya01lc3NhZ2VTaXplAgAA9FsPAAAuAET0Ww8AAAf/////" + - "AQH/////AAAAABdgiQoCAAAAAAAPAAAAR3JvdXBQcm9wZXJ0aWVzAgAA9VsPAAAuAET1Ww8AAQDFOAEA" + - "AAABAAAAAAAAAAEB/////wAAAAAEYIAKAQAAAAAABgAAAFN0YXR1cwIAAPZbDwAALwEAMzn2Ww8A////" + - "/wEAAAAVYIkKAgAAAAAABQAAAFN0YXRlAgAA91sPAAAvAD/3Ww8AAQA3Of////8BAf////8AAAAABGCA" + + "/wkAAAAVYIkKAgAAAAAADAAAAFNlY3VyaXR5TW9kZQIAABdhDwAALgBEF2EPAAEALgH/////AQH/////" + + "AAAAABVgiQoCAAAAAAAVAAAATWF4TmV0d29ya01lc3NhZ2VTaXplAgAAGmEPAAAuAEQaYQ8AAAf/////" + + "AQH/////AAAAABdgiQoCAAAAAAAPAAAAR3JvdXBQcm9wZXJ0aWVzAgAAG2EPAAAuAEQbYQ8AAQDFOAEA" + + "AAABAAAAAAAAAAEB/////wAAAAAEYIAKAQAAAAAABgAAAFN0YXR1cwIAABxhDwAALwEAMzkcYQ8A////" + + "/wEAAAAVYIkKAgAAAAAABQAAAFN0YXRlAgAAHWEPAAAvAD8dYQ8AAQA3Of////8BAf////8AAAAABGCA" + "CgEAAAAAAAsAAABEaWFnbm9zdGljcwEAF1IALwEAv00XUgAA/////wcAAAAVYIkKAgAAAAAAEAAAAERp" + "YWdub3N0aWNzTGV2ZWwBABhSAC8APxhSAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAFRv" + "dGFsSW5mb3JtYXRpb24BABlSAC8BAA1NGVIAAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFj" + @@ -85360,6 +93870,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetReaderGroupMethodStateMethodCallHandler OnCall; + + /// + public GetReaderGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -85373,6 +93886,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -85401,6 +93919,46 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetReaderGroupMethodStateResult _result = null; + + bool includeChildren = (bool)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + includeChildren, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Configuration; + _outputArguments[1] = _result.CheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -85416,6 +93974,28 @@ public delegate ServiceResult GetReaderGroupMethodStateMethodCallHandler( bool includeChildren, ref ReaderGroupDataType configuration, ref byte[] checkSum); + + /// + /// + public partial class GetReaderGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public ReaderGroupDataType Configuration { get; set; } + /// + public byte[] CheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask GetReaderGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + bool includeChildren, + CancellationToken cancellationToken); #endif #endregion @@ -85469,6 +94049,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyReaderGroupMethodStateMethodCallHandler OnCall; + + /// + public ModifyReaderGroupMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -85482,6 +94065,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -85513,6 +94101,51 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyReaderGroupMethodStateResult _result = null; + + ReaderGroupDataType configuration = (ReaderGroupDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + bool modifyChildren = (bool)_inputArguments[1]; + byte[] checkSum = (byte[])_inputArguments[2]; + bool force = (bool)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + modifyChildren, + checkSum, + force, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewCheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -85530,6 +94163,29 @@ public delegate ServiceResult ModifyReaderGroupMethodStateMethodCallHandler( byte[] checkSum, bool force, ref byte[] newCheckSum); + + /// + /// + public partial class ModifyReaderGroupMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] NewCheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyReaderGroupMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ReaderGroupDataType configuration, + bool modifyChildren, + byte[] checkSum, + bool force, + CancellationToken cancellationToken); #endif #endregion @@ -85582,6 +94238,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubGroupTypeAddReaderMethodStateMethodCallHandler OnCall; + + /// + public PubSubGroupTypeAddReaderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -85595,6 +94254,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -85620,6 +94284,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubGroupTypeAddReaderMethodStateResult _result = null; + + DataSetReaderDataType configuration = (DataSetReaderDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.DataSetReaderNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -85634,6 +94337,26 @@ public delegate ServiceResult PubSubGroupTypeAddReaderMethodStateMethodCallHandl NodeId _objectId, DataSetReaderDataType configuration, ref NodeId dataSetReaderNodeId); + + /// + /// + public partial class PubSubGroupTypeAddReaderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId DataSetReaderNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubGroupTypeAddReaderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DataSetReaderDataType configuration, + CancellationToken cancellationToken); #endif #endregion @@ -85684,6 +94407,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public PubSubGroupTypeRemoveReaderMethodStateMethodCallHandler OnCall; + + /// + public PubSubGroupTypeRemoveReaderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -85697,6 +94423,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -85717,6 +94448,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + PubSubGroupTypeRemoveReaderMethodStateResult _result = null; + + NodeId dataSetReaderNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + dataSetReaderNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -85730,6 +94498,24 @@ public delegate ServiceResult PubSubGroupTypeRemoveReaderMethodStateMethodCallHa MethodState _method, NodeId _objectId, NodeId dataSetReaderNodeId); + + /// + /// + public partial class PubSubGroupTypeRemoveReaderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask PubSubGroupTypeRemoveReaderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId dataSetReaderNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -86483,6 +95269,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetDataSetWriterMethodStateMethodCallHandler OnCall; + + /// + public GetDataSetWriterMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -86496,6 +95285,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -86521,6 +95315,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetDataSetWriterMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Configuration; + _outputArguments[1] = _result.CheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -86535,6 +95366,27 @@ public delegate ServiceResult GetDataSetWriterMethodStateMethodCallHandler( NodeId _objectId, ref DataSetWriterDataType configuration, ref byte[] checkSum); + + /// + /// + public partial class GetDataSetWriterMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public DataSetWriterDataType Configuration { get; set; } + /// + public byte[] CheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask GetDataSetWriterMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); #endif #endregion @@ -86587,6 +95439,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyDataSetWriterMethodStateMethodCallHandler OnCall; + + /// + public ModifyDataSetWriterMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -86600,6 +95455,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -86629,6 +95489,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyDataSetWriterMethodStateResult _result = null; + + DataSetWriterDataType configuration = (DataSetWriterDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + byte[] checkSum = (byte[])_inputArguments[1]; + bool force = (bool)_inputArguments[2]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + checkSum, + force, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewCheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -86645,6 +95548,28 @@ public delegate ServiceResult ModifyDataSetWriterMethodStateMethodCallHandler( byte[] checkSum, bool force, ref byte[] newCheckSum); + + /// + /// + public partial class ModifyDataSetWriterMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] NewCheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyDataSetWriterMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DataSetWriterDataType configuration, + byte[] checkSum, + bool force, + CancellationToken cancellationToken); #endif #endregion @@ -88090,6 +97015,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public GetDataSetReaderMethodStateMethodCallHandler OnCall; + + /// + public GetDataSetReaderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88103,6 +97031,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88128,6 +97061,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetDataSetReaderMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Configuration; + _outputArguments[1] = _result.CheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -88142,6 +97112,27 @@ public delegate ServiceResult GetDataSetReaderMethodStateMethodCallHandler( NodeId _objectId, ref DataSetReaderDataType configuration, ref byte[] checkSum); + + /// + /// + public partial class GetDataSetReaderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public DataSetReaderDataType Configuration { get; set; } + /// + public byte[] CheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask GetDataSetReaderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); #endif #endregion @@ -88194,6 +97185,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyDataSetReaderMethodStateMethodCallHandler OnCall; + + /// + public ModifyDataSetReaderMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88207,6 +97201,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88236,6 +97235,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyDataSetReaderMethodStateResult _result = null; + + DataSetReaderDataType configuration = (DataSetReaderDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + byte[] checkSum = (byte[])_inputArguments[1]; + bool force = (bool)_inputArguments[2]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configuration, + checkSum, + force, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.NewCheckSum; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -88252,6 +97294,28 @@ public delegate ServiceResult ModifyDataSetReaderMethodStateMethodCallHandler( byte[] checkSum, bool force, ref byte[] newCheckSum); + + /// + /// + public partial class ModifyDataSetReaderMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public byte[] NewCheckSum { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyDataSetReaderMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DataSetReaderDataType configuration, + byte[] checkSum, + bool force, + CancellationToken cancellationToken); #endif #endregion @@ -88305,6 +97369,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DataSetReaderTypeCreateTargetVariablesMethodStateMethodCallHandler OnCall; + + /// + public DataSetReaderTypeCreateTargetVariablesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88318,6 +97385,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88345,6 +97417,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DataSetReaderTypeCreateTargetVariablesMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + FieldTargetDataType[] targetVariablesToAdd = (FieldTargetDataType[])ExtensionObject.ToArray(_inputArguments[1], typeof(FieldTargetDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + targetVariablesToAdd, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.AddResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -88360,6 +97473,27 @@ public delegate ServiceResult DataSetReaderTypeCreateTargetVariablesMethodStateM ConfigurationVersionDataType configurationVersion, FieldTargetDataType[] targetVariablesToAdd, ref StatusCode[] addResults); + + /// + /// + public partial class DataSetReaderTypeCreateTargetVariablesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] AddResults { get; set; } + } + + + /// + /// + public delegate ValueTask DataSetReaderTypeCreateTargetVariablesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + FieldTargetDataType[] targetVariablesToAdd, + CancellationToken cancellationToken); #endif #endregion @@ -88412,6 +97546,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DataSetReaderTypeCreateDataSetMirrorMethodStateMethodCallHandler OnCall; + + /// + public DataSetReaderTypeCreateDataSetMirrorMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88425,6 +97562,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88452,6 +97594,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DataSetReaderTypeCreateDataSetMirrorMethodStateResult _result = null; + + string parentNodeName = (string)_inputArguments[0]; + RolePermissionType[] rolePermissions = (RolePermissionType[])ExtensionObject.ToArray(_inputArguments[1], typeof(RolePermissionType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + parentNodeName, + rolePermissions, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.ParentNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -88467,6 +97650,27 @@ public delegate ServiceResult DataSetReaderTypeCreateDataSetMirrorMethodStateMet string parentNodeName, RolePermissionType[] rolePermissions, ref NodeId parentNodeId); + + /// + /// + public partial class DataSetReaderTypeCreateDataSetMirrorMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId ParentNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask DataSetReaderTypeCreateDataSetMirrorMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string parentNodeName, + RolePermissionType[] rolePermissions, + CancellationToken cancellationToken); #endif #endregion @@ -88849,6 +98053,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public TargetVariablesTypeAddTargetVariablesMethodStateMethodCallHandler OnCall; + + /// + public TargetVariablesTypeAddTargetVariablesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88862,6 +98069,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88889,6 +98101,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + TargetVariablesTypeAddTargetVariablesMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + FieldTargetDataType[] targetVariablesToAdd = (FieldTargetDataType[])ExtensionObject.ToArray(_inputArguments[1], typeof(FieldTargetDataType)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + targetVariablesToAdd, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.AddResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -88904,6 +98157,27 @@ public delegate ServiceResult TargetVariablesTypeAddTargetVariablesMethodStateMe ConfigurationVersionDataType configurationVersion, FieldTargetDataType[] targetVariablesToAdd, ref StatusCode[] addResults); + + /// + /// + public partial class TargetVariablesTypeAddTargetVariablesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] AddResults { get; set; } + } + + + /// + /// + public delegate ValueTask TargetVariablesTypeAddTargetVariablesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + FieldTargetDataType[] targetVariablesToAdd, + CancellationToken cancellationToken); #endif #endregion @@ -88957,6 +98231,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public TargetVariablesTypeRemoveTargetVariablesMethodStateMethodCallHandler OnCall; + + /// + public TargetVariablesTypeRemoveTargetVariablesMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -88970,6 +98247,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -88997,6 +98279,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + TargetVariablesTypeRemoveTargetVariablesMethodStateResult _result = null; + + ConfigurationVersionDataType configurationVersion = (ConfigurationVersionDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + uint[] targetsToRemove = (uint[])_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + configurationVersion, + targetsToRemove, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.RemoveResults; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -89012,6 +98335,27 @@ public delegate ServiceResult TargetVariablesTypeRemoveTargetVariablesMethodStat ConfigurationVersionDataType configurationVersion, uint[] targetsToRemove, ref StatusCode[] removeResults); + + /// + /// + public partial class TargetVariablesTypeRemoveTargetVariablesMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public StatusCode[] RemoveResults { get; set; } + } + + + /// + /// + public delegate ValueTask TargetVariablesTypeRemoveTargetVariablesMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ConfigurationVersionDataType configurationVersion, + uint[] targetsToRemove, + CancellationToken cancellationToken); #endif #endregion @@ -89461,6 +98805,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddSubscribedDataSetMethodStateMethodCallHandler OnCall; + + /// + public AddSubscribedDataSetMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -89474,6 +98821,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -89499,6 +98851,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddSubscribedDataSetMethodStateResult _result = null; + + StandaloneSubscribedDataSetDataType subscribedDataSet = (StandaloneSubscribedDataSetDataType)ExtensionObject.ToEncodeable((ExtensionObject)_inputArguments[0]); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscribedDataSet, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.SubscribedDataSetNodeId; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -89513,6 +98904,26 @@ public delegate ServiceResult AddSubscribedDataSetMethodStateMethodCallHandler( NodeId _objectId, StandaloneSubscribedDataSetDataType subscribedDataSet, ref NodeId subscribedDataSetNodeId); + + /// + /// + public partial class AddSubscribedDataSetMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public NodeId SubscribedDataSetNodeId { get; set; } + } + + + /// + /// + public delegate ValueTask AddSubscribedDataSetMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + StandaloneSubscribedDataSetDataType subscribedDataSet, + CancellationToken cancellationToken); #endif #endregion @@ -89563,6 +98974,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveSubscribedDataSetMethodStateMethodCallHandler OnCall; + + /// + public RemoveSubscribedDataSetMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -89576,6 +98990,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -89596,6 +99015,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveSubscribedDataSetMethodStateResult _result = null; + + NodeId subscribedDataSetNodeId = (NodeId)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + subscribedDataSetNodeId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -89609,6 +99065,24 @@ public delegate ServiceResult RemoveSubscribedDataSetMethodStateMethodCallHandle MethodState _method, NodeId _objectId, NodeId subscribedDataSetNodeId); + + /// + /// + public partial class RemoveSubscribedDataSetMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveSubscribedDataSetMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + NodeId subscribedDataSetNodeId, + CancellationToken cancellationToken); #endif #endregion @@ -90887,43 +100361,43 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAIQAAAFB1YlN1YkRpYWdub3N0aWNzUm9vdFR5cGVJbnN0YW5jZQEAFE0B" + - "ABRNFE0AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAA+lsPAAAvAD/6Ww8A" + - "AQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAA+1sPAAAvAQAN" + - "TftbDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAD8Ww8AAC4ARPxbDwAAAf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAP1bDwAALgBE/VsPAAEAEk3/" + - "////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAP5bDwAALgBE/lsPAAEA" + - "C03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAABcDwAALwEADU0AXA8AAAf/" + - "////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAAVwPAAAuAEQBXA8AAAH/////AQH/////" + - "AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAAACXA8AAC4ARAJcDwABABJN/////wEB////" + - "/wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAADXA8AAC4ARANcDwABAAtN/////wEB" + - "/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAABVwPAAAvAQDpTAVcDwABAf////8AAAAAFWCJCgIA" + - "AAAAAAgAAABTdWJFcnJvcgIAAAZcDwAALwA/BlwPAAAB/////wEB/////wAAAAAEYIAKAQAAAAAACAAA" + - "AENvdW50ZXJzAgAAB1wPAAAvADoHXA8A/////wYAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJyb3ICAAAI" + - "XA8AAC8BAA1NCFwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAAlcDwAALgBE" + - "CVwPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAClwPAAAuAEQK" + - "XA8ABgEAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAAL" + - "XA8AAC4ARAtcDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAYAAAAU3RhdGVPcGVyYXRp" + - "b25hbEJ5TWV0aG9kAgAADVwPAAAvAQANTQ1cDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABB" + - "Y3RpdmUCAAAOXA8AAC4ARA5cDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNh" + - "dGlvbgIAAA9cDwAALgBED1wPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFn" + - "bm9zdGljc0xldmVsAgAAEFwPAAAuAEQQXA8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAA" + - "GAAAAFN0YXRlT3BlcmF0aW9uYWxCeVBhcmVudAIAABJcDwAALwEADU0SXA8AAAf/////AQH/////AwAA" + - "ABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAE1wPAAAuAEQTXA8AAAH/////AQH/////AAAAABVgqQoCAAAA" + - "AAAOAAAAQ2xhc3NpZmljYXRpb24CAAAUXA8AAC4ARBRcDwAGAAAAAAEAEk3/////AQH/////AAAAABVg" + - "qQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAABVcDwAALgBEFVwPAAYAAAAAAQALTf////8BAf//" + - "//8AAAAAFWCJCgIAAAAAABkAAABTdGF0ZU9wZXJhdGlvbmFsRnJvbUVycm9yAgAAF1wPAAAvAQANTRdc" + - "DwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAAYXA8AAC4ARBhcDwAAAf////8B" + - "Af////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAABlcDwAALgBEGVwPAAYAAAAAAQAS" + - "Tf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAGlwPAAAuAEQaXA8A" + - "BgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAFN0YXRlUGF1c2VkQnlQYXJlbnQCAAAc" + - "XA8AAC8BAA1NHFwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAB1cDwAALgBE" + - "HVwPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAHlwPAAAuAEQe" + - "XA8ABgAAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAAf" + - "XA8AAC4ARB9cDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAVAAAAU3RhdGVEaXNhYmxl" + - "ZEJ5TWV0aG9kAgAAIVwPAAAvAQANTSFcDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3Rp" + - "dmUCAAAiXA8AAC4ARCJcDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlv" + - "bgIAACNcDwAALgBEI1wPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9z" + - "dGljc0xldmVsAgAAJFwPAAAuAEQkXA8ABgAAAAABAAtN/////wEB/////wAAAAAEYIAKAQAAAAAACgAA" + + "ABRNFE0AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAIGEPAAAvAD8gYQ8A" + + "AQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAAIWEPAAAvAQAN" + + "TSFhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAAiYQ8AAC4ARCJhDwAAAf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAACNhDwAALgBEI2EPAAEAEk3/" + + "////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAACRhDwAALgBEJGEPAAEA" + + "C03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAACZhDwAALwEADU0mYQ8AAAf/" + + "////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAJ2EPAAAuAEQnYQ8AAAH/////AQH/////" + + "AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAAAoYQ8AAC4ARChhDwABABJN/////wEB////" + + "/wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAApYQ8AAC4ARClhDwABAAtN/////wEB" + + "/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAK2EPAAAvAQDpTCthDwABAf////8AAAAAFWCJCgIA" + + "AAAAAAgAAABTdWJFcnJvcgIAACxhDwAALwA/LGEPAAAB/////wEB/////wAAAAAEYIAKAQAAAAAACAAA" + + "AENvdW50ZXJzAgAALWEPAAAvADotYQ8A/////wYAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJyb3ICAAAu" + + "YQ8AAC8BAA1NLmEPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAC9hDwAALgBE" + + "L2EPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAMGEPAAAuAEQw" + + "YQ8ABgEAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAAx" + + "YQ8AAC4ARDFhDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAYAAAAU3RhdGVPcGVyYXRp" + + "b25hbEJ5TWV0aG9kAgAAM2EPAAAvAQANTTNhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABB" + + "Y3RpdmUCAAA0YQ8AAC4ARDRhDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNh" + + "dGlvbgIAADVhDwAALgBENWEPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFn" + + "bm9zdGljc0xldmVsAgAANmEPAAAuAEQ2YQ8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "GAAAAFN0YXRlT3BlcmF0aW9uYWxCeVBhcmVudAIAADhhDwAALwEADU04YQ8AAAf/////AQH/////AwAA" + + "ABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAOWEPAAAuAEQ5YQ8AAAH/////AQH/////AAAAABVgqQoCAAAA" + + "AAAOAAAAQ2xhc3NpZmljYXRpb24CAAA6YQ8AAC4ARDphDwAGAAAAAAEAEk3/////AQH/////AAAAABVg" + + "qQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAADthDwAALgBEO2EPAAYAAAAAAQALTf////8BAf//" + + "//8AAAAAFWCJCgIAAAAAABkAAABTdGF0ZU9wZXJhdGlvbmFsRnJvbUVycm9yAgAAPWEPAAAvAQANTT1h" + + "DwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAA+YQ8AAC4ARD5hDwAAAf////8B" + + "Af////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAD9hDwAALgBEP2EPAAYAAAAAAQAS" + + "Tf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAQGEPAAAuAERAYQ8A" + + "BgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAFN0YXRlUGF1c2VkQnlQYXJlbnQCAABC" + + "YQ8AAC8BAA1NQmEPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAENhDwAALgBE" + + "Q2EPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAARGEPAAAuAERE" + + "YQ8ABgAAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAABF" + + "YQ8AAC4AREVhDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAVAAAAU3RhdGVEaXNhYmxl" + + "ZEJ5TWV0aG9kAgAAR2EPAAAvAQANTUdhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3Rp" + + "dmUCAABIYQ8AAC4AREhhDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlv" + + "bgIAAElhDwAALgBESWEPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9z" + + "dGljc0xldmVsAgAASmEPAAAuAERKYQ8ABgAAAAABAAtN/////wEB/////wAAAAAEYIAKAQAAAAAACgAA" + "AExpdmVWYWx1ZXMBAEFNAC8AOkFNAAD/////BAAAABVgiQoCAAAAAAAYAAAAQ29uZmlndXJlZERhdGFT" + "ZXRXcml0ZXJzAQBCTQAvAD9CTQAAAAX/////AQH/////AQAAABVgqQoCAAAAAAAQAAAARGlhZ25vc3Rp" + "Y3NMZXZlbAEAQ00ALgBEQ00AAAYAAAAAAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABgAAABDb25m" + @@ -90994,43 +100468,43 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAJwAAAFB1YlN1YkRpYWdub3N0aWNzQ29ubmVjdGlvblR5cGVJbnN0YW5j" + - "ZQEASk0BAEpNSk0AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAJlwPAAAv" + - "AD8mXA8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAAJ1wP" + - "AAAvAQANTSdcDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAAoXA8AAC4ARChc" + - "DwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAClcDwAALgBEKVwP" + - "AAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAACpcDwAALgBE" + - "KlwPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAACxcDwAALwEADU0s" + - "XA8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAALVwPAAAuAEQtXA8AAAH/////" + - "AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAAAuXA8AAC4ARC5cDwABABJN////" + - "/wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAAvXA8AAC4ARC9cDwABAAtN" + - "/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAMVwPAAAvAQDpTDFcDwABAf////8AAAAA" + - "FWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAADJcDwAALwA/MlwPAAAB/////wEB/////wAAAAAEYIAKAQAA" + - "AAAACAAAAENvdW50ZXJzAgAAM1wPAAAvADozXA8A/////wYAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJy" + - "b3ICAAA0XA8AAC8BAA1NNFwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAADVc" + - "DwAALgBENVwPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAANlwP" + - "AAAuAEQ2XA8ABgEAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2" + - "ZWwCAAA3XA8AAC4ARDdcDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAYAAAAU3RhdGVP" + - "cGVyYXRpb25hbEJ5TWV0aG9kAgAAOVwPAAAvAQANTTlcDwAAB/////8BAf////8DAAAAFWCJCgIAAAAA" + - "AAYAAABBY3RpdmUCAAA6XA8AAC4ARDpcDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFz" + - "c2lmaWNhdGlvbgIAADtcDwAALgBEO1wPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAA" + - "AABEaWFnbm9zdGljc0xldmVsAgAAPFwPAAAuAEQ8XA8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkK" + - "AgAAAAAAGAAAAFN0YXRlT3BlcmF0aW9uYWxCeVBhcmVudAIAAD5cDwAALwEADU0+XA8AAAf/////AQH/" + - "////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAP1wPAAAuAEQ/XA8AAAH/////AQH/////AAAAABVg" + - "qQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAABAXA8AAC4AREBcDwAGAAAAAAEAEk3/////AQH/////" + - "AAAAABVgqQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAEFcDwAALgBEQVwPAAYAAAAAAQALTf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAABkAAABTdGF0ZU9wZXJhdGlvbmFsRnJvbUVycm9yAgAAQ1wPAAAv" + - "AQANTUNcDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAABEXA8AAC4ARERcDwAA" + - "Af////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAEVcDwAALgBERVwPAAYA" + - "AAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAARlwPAAAu" + - "AERGXA8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAFN0YXRlUGF1c2VkQnlQYXJl" + - "bnQCAABIXA8AAC8BAA1NSFwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAElc" + - "DwAALgBESVwPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAASlwP" + - "AAAuAERKXA8ABgAAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2" + - "ZWwCAABLXA8AAC4AREtcDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAVAAAAU3RhdGVE" + - "aXNhYmxlZEJ5TWV0aG9kAgAATVwPAAAvAQANTU1cDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYA" + - "AABBY3RpdmUCAABOXA8AAC4ARE5cDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lm" + - "aWNhdGlvbgIAAE9cDwAALgBET1wPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABE" + - "aWFnbm9zdGljc0xldmVsAgAAUFwPAAAuAERQXA8ABgAAAAABAAtN/////wEB/////wAAAAAEYIAKAQAA" + + "ZQEASk0BAEpNSk0AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAATGEPAAAv" + + "AD9MYQ8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAATWEP" + + "AAAvAQANTU1hDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAABOYQ8AAC4ARE5h" + + "DwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAE9hDwAALgBET2EP" + + "AAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAFBhDwAALgBE" + + "UGEPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAFJhDwAALwEADU1S" + + "YQ8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAU2EPAAAuAERTYQ8AAAH/////" + + "AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAABUYQ8AAC4ARFRhDwABABJN////" + + "/wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAABVYQ8AAC4ARFVhDwABAAtN" + + "/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAV2EPAAAvAQDpTFdhDwABAf////8AAAAA" + + "FWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAAFhhDwAALwA/WGEPAAAB/////wEB/////wAAAAAEYIAKAQAA" + + "AAAACAAAAENvdW50ZXJzAgAAWWEPAAAvADpZYQ8A/////wYAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJy" + + "b3ICAABaYQ8AAC8BAA1NWmEPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAFth" + + "DwAALgBEW2EPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAXGEP" + + "AAAuAERcYQ8ABgEAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2" + + "ZWwCAABdYQ8AAC4ARF1hDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAYAAAAU3RhdGVP" + + "cGVyYXRpb25hbEJ5TWV0aG9kAgAAX2EPAAAvAQANTV9hDwAAB/////8BAf////8DAAAAFWCJCgIAAAAA" + + "AAYAAABBY3RpdmUCAABgYQ8AAC4ARGBhDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFz" + + "c2lmaWNhdGlvbgIAAGFhDwAALgBEYWEPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAA" + + "AABEaWFnbm9zdGljc0xldmVsAgAAYmEPAAAuAERiYQ8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkK" + + "AgAAAAAAGAAAAFN0YXRlT3BlcmF0aW9uYWxCeVBhcmVudAIAAGRhDwAALwEADU1kYQ8AAAf/////AQH/" + + "////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAZWEPAAAuAERlYQ8AAAH/////AQH/////AAAAABVg" + + "qQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAABmYQ8AAC4ARGZhDwAGAAAAAAEAEk3/////AQH/////" + + "AAAAABVgqQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAGdhDwAALgBEZ2EPAAYAAAAAAQALTf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAABkAAABTdGF0ZU9wZXJhdGlvbmFsRnJvbUVycm9yAgAAaWEPAAAv" + + "AQANTWlhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAABqYQ8AAC4ARGphDwAA" + + "Af////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAGthDwAALgBEa2EPAAYA" + + "AAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAbGEPAAAu" + + "AERsYQ8ABgAAAAABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAFN0YXRlUGF1c2VkQnlQYXJl" + + "bnQCAABuYQ8AAC8BAA1NbmEPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAG9h" + + "DwAALgBEb2EPAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAcGEP" + + "AAAuAERwYQ8ABgAAAAABABJN/////wEB/////wAAAAAVYKkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2" + + "ZWwCAABxYQ8AAC4ARHFhDwAGAAAAAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAVAAAAU3RhdGVE" + + "aXNhYmxlZEJ5TWV0aG9kAgAAc2EPAAAvAQANTXNhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYA" + + "AABBY3RpdmUCAAB0YQ8AAC4ARHRhDwAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lm" + + "aWNhdGlvbgIAAHVhDwAALgBEdWEPAAYAAAAAAQASTf////8BAf////8AAAAAFWCpCgIAAAAAABAAAABE" + + "aWFnbm9zdGljc0xldmVsAgAAdmEPAAAuAER2YQ8ABgAAAAABAAtN/////wEB/////wAAAAAEYIAKAQAA" + "AAAACgAAAExpdmVWYWx1ZXMBAHdNAC8AOndNAAD/////AQAAABVgiQoCAAAAAAAPAAAAUmVzb2x2ZWRB" + "ZGRyZXNzAQB4TQAvAD94TQAAAAz/////AQH/////AQAAABVgqQoCAAAAAAAQAAAARGlhZ25vc3RpY3NM" + "ZXZlbAEAeU0ALgBEeU0AAAYAAAAAAQALTf////8BAf////8AAAAA"; @@ -91094,17 +100568,17 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKAAAAFB1YlN1YkRpYWdub3N0aWNzV3JpdGVyR3JvdXBUeXBlSW5zdGFu" + - "Y2UBAHpNAQB6TXpNAAD/////BwAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAFJcDwAA" + - "LwA/UlwPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAVG90YWxJbmZvcm1hdGlvbgIAAFNc" + - "DwAALwEADU1TXA8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAVFwPAAAuAERU" + - "XA8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAABVXA8AAC4ARFVc" + - "DwABABJN/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAABWXA8AAC4A" + - "RFZcDwABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFRvdGFsRXJyb3ICAABYXA8AAC8BAA1N" + - "WFwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAFlcDwAALgBEWVwPAAAB////" + - "/wEB/////wAAAAAVYIkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAWlwPAAAuAERaXA8AAQASTf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAW1wPAAAuAERbXA8AAQAL" + - "Tf////8BAf////8AAAAABGGCCgQAAAAAAAUAAABSZXNldAIAAF1cDwAALwEA6UxdXA8AAQH/////AAAA" + - "ABVgiQoCAAAAAAAIAAAAU3ViRXJyb3ICAABeXA8AAC8AP15cDwAAAf////8BAf////8AAAAABGCACgEA" + + "Y2UBAHpNAQB6TXpNAAD/////BwAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAHhhDwAA" + + "LwA/eGEPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAVG90YWxJbmZvcm1hdGlvbgIAAHlh" + + "DwAALwEADU15YQ8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAemEPAAAuAER6" + + "YQ8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAAB7YQ8AAC4ARHth" + + "DwABABJN/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAB8YQ8AAC4A" + + "RHxhDwABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFRvdGFsRXJyb3ICAAB+YQ8AAC8BAA1N" + + "fmEPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAH9hDwAALgBEf2EPAAAB////" + + "/wEB/////wAAAAAVYIkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAgGEPAAAuAESAYQ8AAQASTf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAgWEPAAAuAESBYQ8AAQAL" + + "Tf////8BAf////8AAAAABGGCCgQAAAAAAAUAAABSZXNldAIAAINhDwAALwEA6UyDYQ8AAQH/////AAAA" + + "ABVgiQoCAAAAAAAIAAAAU3ViRXJyb3ICAACEYQ8AAC8AP4RhDwAAAf////8BAf////8AAAAABGCACgEA" + "AAAAAAgAAABDb3VudGVycwEAiE0ALwA6iE0AAP////8JAAAAFWCJCgIAAAAAAAoAAABTdGF0ZUVycm9y" + "AQCJTQAvAQANTYlNAAAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUBAIpNAC4ARIpN" + "AAAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgEAi00ALgBEi00AAAYB" + @@ -91211,17 +100685,17 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKAAAAFB1YlN1YkRpYWdub3N0aWNzUmVhZGVyR3JvdXBUeXBlSW5zdGFu" + - "Y2UBAL9NAQC/Tb9NAAD/////BwAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAF9cDwAA" + - "LwA/X1wPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAVG90YWxJbmZvcm1hdGlvbgIAAGBc" + - "DwAALwEADU1gXA8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAYVwPAAAuAERh" + - "XA8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAABiXA8AAC4ARGJc" + - "DwABABJN/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAABjXA8AAC4A" + - "RGNcDwABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFRvdGFsRXJyb3ICAABlXA8AAC8BAA1N" + - "ZVwPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAGZcDwAALgBEZlwPAAAB////" + - "/wEB/////wAAAAAVYIkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAZ1wPAAAuAERnXA8AAQASTf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAaFwPAAAuAERoXA8AAQAL" + - "Tf////8BAf////8AAAAABGGCCgQAAAAAAAUAAABSZXNldAIAAGpcDwAALwEA6UxqXA8AAQH/////AAAA" + - "ABVgiQoCAAAAAAAIAAAAU3ViRXJyb3ICAABrXA8AAC8AP2tcDwAAAf////8BAf////8AAAAABGCACgEA" + + "Y2UBAL9NAQC/Tb9NAAD/////BwAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAIVhDwAA" + + "LwA/hWEPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAVG90YWxJbmZvcm1hdGlvbgIAAIZh" + + "DwAALwEADU2GYQ8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAh2EPAAAuAESH" + + "YQ8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAACIYQ8AAC4ARIhh" + + "DwABABJN/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAACJYQ8AAC4A" + + "RIlhDwABAAtN/////wEB/////wAAAAAVYIkKAgAAAAAACgAAAFRvdGFsRXJyb3ICAACLYQ8AAC8BAA1N" + + "i2EPAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQIAAIxhDwAALgBEjGEPAAAB////" + + "/wEB/////wAAAAAVYIkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAgAAjWEPAAAuAESNYQ8AAQASTf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAjmEPAAAuAESOYQ8AAQAL" + + "Tf////8BAf////8AAAAABGGCCgQAAAAAAAUAAABSZXNldAIAAJBhDwAALwEA6UyQYQ8AAQH/////AAAA" + + "ABVgiQoCAAAAAAAIAAAAU3ViRXJyb3ICAACRYQ8AAC8AP5FhDwAAAf////8BAf////8AAAAABGCACgEA" + "AAAAAAgAAABDb3VudGVycwEAzU0ALwA6zU0AAP////8JAAAAFWCJCgIAAAAAAAoAAABTdGF0ZUVycm9y" + "AQDOTQAvAQANTc5NAAAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUBAM9NAC4ARM9N" + "AAAAAf////8BAf////8AAAAAFWCpCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgEA0E0ALgBE0E0AAAYB" + @@ -91324,17 +100798,17 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKgAAAFB1YlN1YkRpYWdub3N0aWNzRGF0YVNldFdyaXRlclR5cGVJbnN0" + - "YW5jZQEAAE4BAABOAE4AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAbFwP" + - "AAAvAD9sXA8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAA" + - "bVwPAAAvAQANTW1cDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAABuXA8AAC4A" + - "RG5cDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAG9cDwAALgBE" + - "b1wPAAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAHBcDwAA" + - "LgBEcFwPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAHJcDwAALwEA" + - "DU1yXA8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAc1wPAAAuAERzXA8AAAH/" + - "////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAAB0XA8AAC4ARHRcDwABABJN" + - "/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAAB1XA8AAC4ARHVcDwAB" + - "AAtN/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAd1wPAAAvAQDpTHdcDwABAf////8A" + - "AAAAFWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAAHhcDwAALwA/eFwPAAAB/////wEB/////wAAAAAEYIAK" + + "YW5jZQEAAE4BAABOAE4AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAkmEP" + + "AAAvAD+SYQ8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAA" + + "k2EPAAAvAQANTZNhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAACUYQ8AAC4A" + + "RJRhDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAJVhDwAALgBE" + + "lWEPAAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAJZhDwAA" + + "LgBElmEPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAJhhDwAALwEA" + + "DU2YYQ8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAmWEPAAAuAESZYQ8AAAH/" + + "////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAACaYQ8AAC4ARJphDwABABJN" + + "/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAACbYQ8AAC4ARJthDwAB" + + "AAtN/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAnWEPAAAvAQDpTJ1hDwABAf////8A" + + "AAAAFWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAAJ5hDwAALwA/nmEPAAAB/////wEB/////wAAAAAEYIAK" + "AQAAAAAACAAAAENvdW50ZXJzAQAOTgAvADoOTgAA/////wcAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJy" + "b3IBAA9OAC8BAA1ND04AAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQEAEE4ALgBE" + "EE4AAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAQARTgAuAEQRTgAA" + @@ -91433,17 +100907,17 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKgAAAFB1YlN1YkRpYWdub3N0aWNzRGF0YVNldFJlYWRlclR5cGVJbnN0" + - "YW5jZQEAO04BADtOO04AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAeVwP" + - "AAAvAD95XA8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAA" + - "elwPAAAvAQANTXpcDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAB7XA8AAC4A" + - "RHtcDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAHxcDwAALgBE" + - "fFwPAAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAH1cDwAA" + - "LgBEfVwPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAH9cDwAALwEA" + - "DU1/XA8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAAgFwPAAAuAESAXA8AAAH/" + - "////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAACBXA8AAC4ARIFcDwABABJN" + - "/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAACCXA8AAC4ARIJcDwAB" + - "AAtN/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAhFwPAAAvAQDpTIRcDwABAf////8A" + - "AAAAFWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAAIVcDwAALwA/hVwPAAAB/////wEB/////wAAAAAEYIAK" + + "YW5jZQEAO04BADtOO04AAP////8HAAAAFWCJCgIAAAAAABAAAABEaWFnbm9zdGljc0xldmVsAgAAn2EP" + + "AAAvAD+fYQ8AAQALTf////8BAf////8AAAAAFWCJCgIAAAAAABAAAABUb3RhbEluZm9ybWF0aW9uAgAA" + + "oGEPAAAvAQANTaBhDwAAB/////8BAf////8DAAAAFWCJCgIAAAAAAAYAAABBY3RpdmUCAAChYQ8AAC4A" + + "RKFhDwAAAf////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABDbGFzc2lmaWNhdGlvbgIAAKJhDwAALgBE" + + "omEPAAEAEk3/////AQH/////AAAAABVgiQoCAAAAAAAQAAAARGlhZ25vc3RpY3NMZXZlbAIAAKNhDwAA" + + "LgBEo2EPAAEAC03/////AQH/////AAAAABVgiQoCAAAAAAAKAAAAVG90YWxFcnJvcgIAAKVhDwAALwEA" + + "DU2lYQ8AAAf/////AQH/////AwAAABVgiQoCAAAAAAAGAAAAQWN0aXZlAgAApmEPAAAuAESmYQ8AAAH/" + + "////AQH/////AAAAABVgiQoCAAAAAAAOAAAAQ2xhc3NpZmljYXRpb24CAACnYQ8AAC4ARKdhDwABABJN" + + "/////wEB/////wAAAAAVYIkKAgAAAAAAEAAAAERpYWdub3N0aWNzTGV2ZWwCAACoYQ8AAC4ARKhhDwAB" + + "AAtN/////wEB/////wAAAAAEYYIKBAAAAAAABQAAAFJlc2V0AgAAqmEPAAAvAQDpTKphDwABAf////8A" + + "AAAAFWCJCgIAAAAAAAgAAABTdWJFcnJvcgIAAKthDwAALwA/q2EPAAAB/////wEB/////wAAAAAEYIAK" + "AQAAAAAACAAAAENvdW50ZXJzAQBJTgAvADpJTgAA/////wgAAAAVYIkKAgAAAAAACgAAAFN0YXRlRXJy" + "b3IBAEpOAC8BAA1NSk4AAAAH/////wEB/////wMAAAAVYIkKAgAAAAAABgAAAEFjdGl2ZQEAS04ALgBE" + "S04AAAAB/////wEB/////wAAAAAVYKkKAgAAAAAADgAAAENsYXNzaWZpY2F0aW9uAQBMTgAuAERMTgAA" + @@ -92484,14 +101958,14 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAHQAAAFB1YlN1YlN0YXR1c0V2ZW50VHlwZUluc3RhbmNlAQCvPAEArzyv" + - "PAAA/////wsAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAACGXA8AAC4ARIZcDwAAD/////8BAf////8A" + - "AAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAACHXA8AAC4ARIdcDwAAEf////8BAf////8AAAAAFWCJ" + - "CgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAiFwPAAAuAESIXA8AABH/////AQH/////AAAAABVgiQoCAAAA" + - "AAAKAAAAU291cmNlTmFtZQIAAIlcDwAALgBEiVwPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAA" + - "AFRpbWUCAACKXA8AAC4ARIpcDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVU" + - "aW1lAgAAi1wPAAAuAESLXA8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgAA" + - "jVwPAAAuAESNXA8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAACOXA8AAC4A" + - "RI5cDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDb25uZWN0aW9uSWQBALk8AC4ARLk8AAAA" + + "PAAA/////wsAAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAACsYQ8AAC4ARKxhDwAAD/////8BAf////8A" + + "AAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAACtYQ8AAC4ARK1hDwAAEf////8BAf////8AAAAAFWCJ" + + "CgIAAAAAAAoAAABTb3VyY2VOb2RlAgAArmEPAAAuAESuYQ8AABH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAKAAAAU291cmNlTmFtZQIAAK9hDwAALgBEr2EPAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABAAA" + + "AFRpbWUCAACwYQ8AAC4ARLBhDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAFJlY2VpdmVU" + + "aW1lAgAAsWEPAAAuAESxYQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABNZXNzYWdlAgAA" + + "s2EPAAAuAESzYQ8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2ZXJpdHkCAAC0YQ8AAC4A" + + "RLRhDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDb25uZWN0aW9uSWQBALk8AC4ARLk8AAAA" + "Ef////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABHcm91cElkAQC6PAAuAES6PAAAABH/////AQH/////" + "AAAAABVgiQoCAAAAAAAFAAAAU3RhdGUBALs8AC4ARLs8AAABADc5/////wEB/////wAAAAA="; #endregion @@ -92723,16 +102197,16 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAALAAAAFB1YlN1YlRyYW5zcG9ydExpbWl0c0V4Y2VlZEV2ZW50VHlwZUlu" + - "c3RhbmNlAQC8PAEAvDy8PAAA/////w0AAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAACTXA8AAC4ARJNc" + - "DwAAD/////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAACUXA8AAC4ARJRcDwAAEf//" + - "//8BAf////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAlVwPAAAuAESVXA8AABH/////AQH/" + - "////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTmFtZQIAAJZcDwAALgBEllwPAAAM/////wEB/////wAA" + - "AAAVYIkKAgAAAAAABAAAAFRpbWUCAACXXA8AAC4ARJdcDwABACYB/////wEB/////wAAAAAVYIkKAgAA" + - "AAAACwAAAFJlY2VpdmVUaW1lAgAAmFwPAAAuAESYXA8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + - "AAcAAABNZXNzYWdlAgAAmlwPAAAuAESaXA8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2" + - "ZXJpdHkCAACbXA8AAC4ARJtcDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDb25uZWN0aW9u" + - "SWQCAACgXA8AAC4ARKBcDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABHcm91cElkAgAAoVwP" + - "AAAuAEShXA8AABH/////AQH/////AAAAABVgiQoCAAAAAAAFAAAAU3RhdGUCAACiXA8AAC4ARKJcDwAB" + + "c3RhbmNlAQC8PAEAvDy8PAAA/////w0AAAAVYIkKAgAAAAAABwAAAEV2ZW50SWQCAAC5YQ8AAC4ARLlh" + + "DwAAD/////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABFdmVudFR5cGUCAAC6YQ8AAC4ARLphDwAAEf//" + + "//8BAf////8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOb2RlAgAAu2EPAAAuAES7YQ8AABH/////AQH/" + + "////AAAAABVgiQoCAAAAAAAKAAAAU291cmNlTmFtZQIAALxhDwAALgBEvGEPAAAM/////wEB/////wAA" + + "AAAVYIkKAgAAAAAABAAAAFRpbWUCAAC9YQ8AAC4ARL1hDwABACYB/////wEB/////wAAAAAVYIkKAgAA" + + "AAAACwAAAFJlY2VpdmVUaW1lAgAAvmEPAAAuAES+YQ8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAA" + + "AAcAAABNZXNzYWdlAgAAwGEPAAAuAETAYQ8AABX/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAU2V2" + + "ZXJpdHkCAADBYQ8AAC4ARMFhDwAABf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABDb25uZWN0aW9u" + + "SWQCAADGYQ8AAC4ARMZhDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAcAAABHcm91cElkAgAAx2EP" + + "AAAuAETHYQ8AABH/////AQH/////AAAAABVgiQoCAAAAAAAFAAAAU3RhdGUCAADIYQ8AAC4ARMhhDwAB" + "ADc5/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAEFjdHVhbAEAyTwALgBEyTwAAAAH/////wEB////" + "/wAAAAAVYIkKAgAAAAAABwAAAE1heGltdW0BAMo8AC4ARMo8AAAAB/////8BAf////8AAAAA"; #endregion @@ -92918,16 +102392,16 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAKwAAAFB1YlN1YkNvbW11bmljYXRpb25GYWlsdXJlRXZlbnRUeXBlSW5z" + - "dGFuY2UBAMs8AQDLPMs8AAD/////DAAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAKNcDwAALgBEo1wP" + - "AAAP/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAKRcDwAALgBEpFwPAAAR////" + - "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAAClXA8AAC4ARKVcDwAAEf////8BAf//" + - "//8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAAplwPAAAuAESmXA8AAAz/////AQH/////AAAA" + - "ABVgiQoCAAAAAAAEAAAAVGltZQIAAKdcDwAALgBEp1wPAAEAJgH/////AQH/////AAAAABVgiQoCAAAA" + - "AAALAAAAUmVjZWl2ZVRpbWUCAACoXA8AAC4ARKhcDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAA" + - "BwAAAE1lc3NhZ2UCAACqXA8AAC4ARKpcDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZl" + - "cml0eQIAAKtcDwAALgBEq1wPAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENvbm5lY3Rpb25J" + - "ZAIAALBcDwAALgBEsFwPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAABwAAAEdyb3VwSWQCAACxXA8A" + - "AC4ARLFcDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAUAAABTdGF0ZQIAALJcDwAALgBEslwPAAEA" + + "dGFuY2UBAMs8AQDLPMs8AAD/////DAAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAAMlhDwAALgBEyWEP" + + "AAAP/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAAMphDwAALgBEymEPAAAR////" + + "/wEB/////wAAAAAVYIkKAgAAAAAACgAAAFNvdXJjZU5vZGUCAADLYQ8AAC4ARMthDwAAEf////8BAf//" + + "//8AAAAAFWCJCgIAAAAAAAoAAABTb3VyY2VOYW1lAgAAzGEPAAAuAETMYQ8AAAz/////AQH/////AAAA" + + "ABVgiQoCAAAAAAAEAAAAVGltZQIAAM1hDwAALgBEzWEPAAEAJgH/////AQH/////AAAAABVgiQoCAAAA" + + "AAALAAAAUmVjZWl2ZVRpbWUCAADOYQ8AAC4ARM5hDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAA" + + "BwAAAE1lc3NhZ2UCAADQYQ8AAC4ARNBhDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZl" + + "cml0eQIAANFhDwAALgBE0WEPAAAF/////wEB/////wAAAAAVYIkKAgAAAAAADAAAAENvbm5lY3Rpb25J" + + "ZAIAANZhDwAALgBE1mEPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAABwAAAEdyb3VwSWQCAADXYQ8A" + + "AC4ARNdhDwAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAUAAABTdGF0ZQIAANhhDwAALgBE2GEPAAEA" + "Nzn/////AQH/////AAAAABVgiQoCAAAAAAAFAAAARXJyb3IBANg8AC4ARNg8AAAAE/////8BAf////8A" + "AAAA"; #endregion @@ -97136,8 +106610,8 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Initialization String private const string InitializationString = "//////////8EYIACAQAAAAAAHQAAAE5ldHdvcmtBZGRyZXNzVXJsVHlwZUluc3RhbmNlAQCbUgEAm1Kb" + - "UgAA/////wIAAAAVYIkKAgAAAAAAEAAAAE5ldHdvcmtJbnRlcmZhY2UCAACzXA8AAC8BALU/s1wPAAAM" + - "/////wEB/////wEAAAAXYIkKAgAAAAAACgAAAFNlbGVjdGlvbnMCAAC0XA8AAC4ARLRcDwAAGAEAAAAB" + + "UgAA/////wIAAAAVYIkKAgAAAAAAEAAAAE5ldHdvcmtJbnRlcmZhY2UCAADZYQ8AAC8BALU/2WEPAAAM" + + "/////wEB/////wEAAAAXYIkKAgAAAAAACgAAAFNlbGVjdGlvbnMCAADaYQ8AAC4ARNphDwAAGAEAAAAB" + "AAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAAAwAAAFVybAEAnVIALwA/nVIAAAAM/////wEB/////wAA" + "AAA="; #endregion @@ -97542,6 +107016,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public FindAliasMethodStateMethodCallHandler OnCall; + + /// + public FindAliasMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -97555,6 +107032,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -97582,6 +107064,47 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + FindAliasMethodStateResult _result = null; + + string aliasNameSearchPattern = (string)_inputArguments[0]; + NodeId referenceTypeFilter = (NodeId)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + aliasNameSearchPattern, + referenceTypeFilter, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.AliasNodeList; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -97597,6 +107120,27 @@ public delegate ServiceResult FindAliasMethodStateMethodCallHandler( string aliasNameSearchPattern, NodeId referenceTypeFilter, ref AliasNameDataType[] aliasNodeList); + + /// + /// + public partial class FindAliasMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public AliasNameDataType[] AliasNodeList { get; set; } + } + + + /// + /// + public delegate ValueTask FindAliasMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string aliasNameSearchPattern, + NodeId referenceTypeFilter, + CancellationToken cancellationToken); #endif #endregion @@ -98137,6 +107681,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddUserMethodStateMethodCallHandler OnCall; + + /// + public AddUserMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -98150,6 +107697,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -98176,6 +107728,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddUserMethodStateResult _result = null; + + string userName = (string)_inputArguments[0]; + string password = (string)_inputArguments[1]; + uint userConfiguration = (uint)_inputArguments[2]; + string description = (string)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + userName, + password, + userConfiguration, + description, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -98192,6 +107787,27 @@ public delegate ServiceResult AddUserMethodStateMethodCallHandler( string password, uint userConfiguration, string description); + + /// + /// + public partial class AddUserMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddUserMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string userName, + string password, + uint userConfiguration, + string description, + CancellationToken cancellationToken); #endif #endregion @@ -98245,6 +107861,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ModifyUserMethodStateMethodCallHandler OnCall; + + /// + public ModifyUserMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -98258,6 +107877,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -98290,6 +107914,55 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ModifyUserMethodStateResult _result = null; + + string userName = (string)_inputArguments[0]; + bool modifyPassword = (bool)_inputArguments[1]; + string password = (string)_inputArguments[2]; + bool modifyUserConfiguration = (bool)_inputArguments[3]; + uint userConfiguration = (uint)_inputArguments[4]; + bool modifyDescription = (bool)_inputArguments[5]; + string description = (string)_inputArguments[6]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + userName, + modifyPassword, + password, + modifyUserConfiguration, + userConfiguration, + modifyDescription, + description, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -98309,6 +107982,30 @@ public delegate ServiceResult ModifyUserMethodStateMethodCallHandler( uint userConfiguration, bool modifyDescription, string description); + + /// + /// + public partial class ModifyUserMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ModifyUserMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string userName, + bool modifyPassword, + string password, + bool modifyUserConfiguration, + uint userConfiguration, + bool modifyDescription, + string description, + CancellationToken cancellationToken); #endif #endregion @@ -98358,6 +108055,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RemoveUserMethodStateMethodCallHandler OnCall; + + /// + public RemoveUserMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -98371,6 +108071,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -98391,6 +108096,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RemoveUserMethodStateResult _result = null; + + string userName = (string)_inputArguments[0]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + userName, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -98404,6 +108146,24 @@ public delegate ServiceResult RemoveUserMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, string userName); + + /// + /// + public partial class RemoveUserMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask RemoveUserMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string userName, + CancellationToken cancellationToken); #endif #endregion @@ -98454,6 +108214,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public ChangePasswordMethodStateMethodCallHandler OnCall; + + /// + public ChangePasswordMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -98467,6 +108230,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -98489,6 +108257,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + ChangePasswordMethodStateResult _result = null; + + string oldPassword = (string)_inputArguments[0]; + string newPassword = (string)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + oldPassword, + newPassword, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -98503,6 +108310,25 @@ public delegate ServiceResult ChangePasswordMethodStateMethodCallHandler( NodeId _objectId, string oldPassword, string newPassword); + + /// + /// + public partial class ChangePasswordMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask ChangePasswordMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string oldPassword, + string newPassword, + CancellationToken cancellationToken); #endif #endregion @@ -98572,8 +108398,8 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8VYIkCAgAAAAAAMQAAAE11bHRpU3RhdGVEaWN0aW9uYXJ5RW50cnlEaXNjcmV0ZUJhc2VU" + "eXBlSW5zdGFuY2UBAIVKAQCFSoVKAAAAGv////8BAf////8EAAAAF2CJCgIAAAAAAAoAAABFbnVtVmFs" + - "dWVzAgAAy1wPAAAuAETLXA8AAQCqHQEAAAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAFZh" + - "bHVlQXNUZXh0AgAAzFwPAAAuAETMXA8AABX/////AQH/////AAAAABdgiQoCAAAAAAAVAAAARW51bURp" + + "dWVzAgAA8WEPAAAuAETxYQ8AAQCqHQEAAAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAACwAAAFZh" + + "bHVlQXNUZXh0AgAA8mEPAAAuAETyYQ8AABX/////AQH/////AAAAABdgiQoCAAAAAAAVAAAARW51bURp" + "Y3Rpb25hcnlFbnRyaWVzAQCKSgAuAESKSgAAABECAAAAAgAAAAAAAAAAAAAAAQH/////AAAAABdgiQoC" + "AAAAAAAYAAAAVmFsdWVBc0RpY3Rpb25hcnlFbnRyaWVzAQCLSgAuAESLSgAAABEBAAAAAQAAAAAAAAAB" + "Af////8AAAAA"; @@ -98822,9 +108648,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8VYIkCAgAAAAAALQAAAE11bHRpU3RhdGVEaWN0aW9uYXJ5RW50cnlEaXNjcmV0ZVR5cGVJ" + "bnN0YW5jZQEAjEoBAIxKjEoAAAAa/////wEB/////wQAAAAXYIkKAgAAAAAACgAAAEVudW1WYWx1ZXMC" + - "AADPXA8AAC4ARM9cDwABAKodAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAALAAAAVmFsdWVB" + - "c1RleHQCAADQXA8AAC4ARNBcDwAAFf////8BAf////8AAAAAF2CJCgIAAAAAABUAAABFbnVtRGljdGlv" + - "bmFyeUVudHJpZXMCAADRXA8AAC4ARNFcDwAAEQIAAAACAAAAAAAAAAAAAAABAf////8AAAAAF2CJCgIA" + + "AAD1YQ8AAC4ARPVhDwABAKodAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAALAAAAVmFsdWVB" + + "c1RleHQCAAD2YQ8AAC4ARPZhDwAAFf////8BAf////8AAAAAF2CJCgIAAAAAABUAAABFbnVtRGljdGlv" + + "bmFyeUVudHJpZXMCAAD3YQ8AAC4ARPdhDwAAEQIAAAACAAAAAAAAAAAAAAABAf////8AAAAAF2CJCgIA" + "AAAAABgAAABWYWx1ZUFzRGljdGlvbmFyeUVudHJpZXMBAJJKAC4ARJJKAAAAEQEAAAABAAAAAAAAAAEB" + "/////wAAAAA="; #endregion @@ -98938,6 +108764,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public RequestTicketsMethodStateMethodCallHandler OnCall; + + /// + public RequestTicketsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -98951,6 +108780,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -98973,6 +108807,42 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + RequestTicketsMethodStateResult _result = null; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Tickets; + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -98986,6 +108856,25 @@ public delegate ServiceResult RequestTicketsMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, ref string[] tickets); + + /// + /// + public partial class RequestTicketsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public string[] Tickets { get; set; } + } + + + /// + /// + public delegate ValueTask RequestTicketsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + CancellationToken cancellationToken); #endif #endregion @@ -99036,6 +108925,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public SetRegistrarEndpointsMethodStateMethodCallHandler OnCall; + + /// + public SetRegistrarEndpointsMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -99049,6 +108941,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -99069,6 +108966,43 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + SetRegistrarEndpointsMethodStateResult _result = null; + + ApplicationDescription[] registrars = (ApplicationDescription[])ExtensionObject.ToArray(_inputArguments[0], typeof(ApplicationDescription)); + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + registrars, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -99082,218 +109016,24 @@ public delegate ServiceResult SetRegistrarEndpointsMethodStateMethodCallHandler( MethodState _method, NodeId _objectId, ApplicationDescription[] registrars); - #endif - #endregion - #region ApplicationConfigurationState Class - #if (!OPCUA_EXCLUDE_ApplicationConfigurationState) /// /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class ApplicationConfigurationState : ServerConfigurationState + public partial class SetRegistrarEndpointsMethodStateResult { - #region Constructors - /// - public ApplicationConfigurationState(NodeState parent) : base(parent) - { - } - - /// - protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) - { - return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.ApplicationConfigurationType, Opc.Ua.Namespaces.OpcUa, namespaceUris); - } - - #if (!OPCUA_EXCLUDE_InitializationStrings) - /// - protected override void Initialize(ISystemContext context) - { - base.Initialize(context); - Initialize(context, InitializationString); - InitializeOptionalChildren(context); - } - - /// - protected override void Initialize(ISystemContext context, NodeState source) - { - InitializeOptionalChildren(context); - base.Initialize(context, source); - } - - /// - protected override void InitializeOptionalChildren(ISystemContext context) - { - base.InitializeOptionalChildren(context); - } - - #region Initialization String - private const string InitializationString = - "//////////8EYIACAQAAAAAAJAAAAEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblR5cGVJbnN0YW5jZQEA" + - "g2QBAINkg2QAAP////8NAAAABGCACgEAAAAAABEAAABDZXJ0aWZpY2F0ZUdyb3VwcwIAANJcDwAALwEA" + - "9TXSXA8A/////wEAAAAEYIAKAQAAAAAAFwAAAERlZmF1bHRBcHBsaWNhdGlvbkdyb3VwAgAA01wPAAAv" + - "AQALMdNcDwD/////AgAAAARggAoBAAAAAAAJAAAAVHJ1c3RMaXN0AgAA1FwPAAAvAQDqMNRcDwD/////" + - "DwAAABVgiQoCAAAAAAAEAAAAU2l6ZQIAANVcDwAALgBE1VwPAAAJ/////wEB/////wAAAAAVYIkKAgAA" + - "AAAACAAAAFdyaXRhYmxlAgAA1lwPAAAuAETWXA8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAA" + - "VXNlcldyaXRhYmxlAgAA11wPAAAuAETXXA8AAAH/////AQH/////AAAAABVgiQoCAAAAAAAJAAAAT3Bl" + - "bkNvdW50AgAA2FwPAAAuAETYXA8AAAX/////AQH/////AAAAAARhggoEAAAAAAAEAAAAT3BlbgIAANxc" + - "DwAALwEAPC3cXA8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADdXA8AAC4A" + - "RN1cDwCWAQAAAAEAKgEBEwAAAAQAAABNb2RlAAP/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAA3lwPAAAuAETeXA8AlgEAAAABACoBARkA" + - "AAAKAAAARmlsZUhhbmRsZQAH/////wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAEYYIKBAAA" + - "AAAABQAAAENsb3NlAgAA31wPAAAvAQA/Ld9cDwABAf////8BAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + - "Z3VtZW50cwIAAOBcDwAALgBE4FwPAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAA" + - "AAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAQAAABSZWFkAgAA4VwPAAAvAQBBLeFc" + - "DwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwIAAOJcDwAALgBE4lwPAJYCAAAA" + - "AQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKgEBFQAAAAYAAABMZW5ndGgABv////8A" + - "AAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMC" + - "AADjXA8AAC4ARONcDwCWAQAAAAEAKgEBEwAAAAQAAABEYXRhAA//////AAAAAAABACgBAQAAAAEAAAAB" + - "AAAAAQH/////AAAAAARhggoEAAAAAAAFAAAAV3JpdGUCAADkXA8AAC8BAEQt5FwPAAEB/////wEAAAAX" + - "YKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAA5VwPAAAuAETlXA8AlgIAAAABACoBARkAAAAKAAAA" + - "RmlsZUhhbmRsZQAH/////wAAAAAAAQAqAQETAAAABAAAAERhdGEAD/////8AAAAAAAEAKAEBAAAAAQAA" + - "AAIAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABHZXRQb3NpdGlvbgIAAOZcDwAALwEARi3mXA8AAQH/" + - "////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADnXA8AAC4AROdcDwCWAQAAAAEAKgEB" + - "GQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABdgqQoC" + - "AAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAA6FwPAAAuAEToXA8AlgEAAAABACoBARcAAAAIAAAAUG9z" + - "aXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAsAAABTZXRQ" + - "b3NpdGlvbgIAAOlcDwAALwEASS3pXA8AAQH/////AQAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVu" + - "dHMCAADqXA8AAC4AROpcDwCWAgAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACoB" + - "ARcAAAAIAAAAUG9zaXRpb24ACf////8AAAAAAAEAKAEBAAAAAQAAAAIAAAABAf////8AAAAAFWCJCgIA" + - "AAAAAA4AAABMYXN0VXBkYXRlVGltZQIAAOtcDwAALgBE61wPAAEAJgH/////AQH/////AAAAAARhggoE" + - "AAAAAAANAAAAT3BlbldpdGhNYXNrcwIAAO9cDwAALwEA/zDvXA8AAQH/////AgAAABdgqQoCAAAAAAAO" + - "AAAASW5wdXRBcmd1bWVudHMCAADwXA8AAC4ARPBcDwCWAQAAAAEAKgEBFAAAAAUAAABNYXNrcwAH////" + - "/wAAAAAAAQAoAQEAAAABAAAAAQAAAAEB/////wAAAAAXYKkKAgAAAAAADwAAAE91dHB1dEFyZ3VtZW50" + - "cwIAAPFcDwAALgBE8VwPAJYBAAAAAQAqAQEZAAAACgAAAEZpbGVIYW5kbGUAB/////8AAAAAAAEAKAEB" + - "AAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAA4AAABDbG9zZUFuZFVwZGF0ZQIAAPJcDwAALwEA" + - "AjHyXA8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAADzXA8AAC4ARPNcDwCW" + - "AQAAAAEAKgEBGQAAAAoAAABGaWxlSGFuZGxlAAf/////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAA9FwPAAAuAET0XA8AlgEAAAABACoBASMA" + - "AAAUAAAAQXBwbHlDaGFuZ2VzUmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8A" + - "AAAABGGCCgQAAAAAAA4AAABBZGRDZXJ0aWZpY2F0ZQIAAPVcDwAALwEABDH1XA8AAQH/////AQAAABdg" + - "qQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMCAAD2XA8AAC4ARPZcDwCWAgAAAAEAKgEBGgAAAAsAAABD" + - "ZXJ0aWZpY2F0ZQAP/////wAAAAAAAQAqAQEjAAAAFAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////" + - "AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAAAARhggoEAAAAAAARAAAAUmVtb3ZlQ2VydGlmaWNh" + - "dGUCAAD3XA8AAC8BAAYx91wPAAEB/////wEAAAAXYKkKAgAAAAAADgAAAElucHV0QXJndW1lbnRzAgAA" + - "+FwPAAAuAET4XA8AlgIAAAABACoBARkAAAAKAAAAVGh1bWJwcmludAAM/////wAAAAAAAQAqAQEjAAAA" + - "FAAAAElzVHJ1c3RlZENlcnRpZmljYXRlAAH/////AAAAAAABACgBAQAAAAEAAAACAAAAAQH/////AAAA" + - "ABdgiQoCAAAAAAAQAAAAQ2VydGlmaWNhdGVUeXBlcwIAAPlcDwAALgBE+VwPAAARAQAAAAEAAAAAAAAA" + - "AQH/////AAAAABVgiQoCAAAAAAAOAAAAQXBwbGljYXRpb25VcmkBAOJoAC4AROJoAAABAMdc/////wEB" + - "/////wAAAAAVYIkKAgAAAAAACgAAAFByb2R1Y3RVcmkBAONoAC4ARONoAAABAMdc/////wEB/////wAA" + - "AAAVYIkKAgAAAAAADwAAAEFwcGxpY2F0aW9uVHlwZQEA5GgALgBE5GgAAAEAMwH/////AQH/////AAAA" + - "ABdgiQoCAAAAAAASAAAAU2VydmVyQ2FwYWJpbGl0aWVzAgAAMGEPAAAuAEQwYQ8AAAwBAAAAAQAAAAAA" + - "AAABAf////8AAAAAF2CJCgIAAAAAABoAAABTdXBwb3J0ZWRQcml2YXRlS2V5Rm9ybWF0cwIAADFhDwAA" + - "LgBEMWEPAAAMAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAAQAAAATWF4VHJ1c3RMaXN0U2l6" + - "ZQIAADJhDwAALgBEMmEPAAAH/////wEB/////wAAAAAVYIkKAgAAAAAAEwAAAE11bHRpY2FzdERuc0Vu" + - "YWJsZWQCAAAzYQ8AAC4ARDNhDwAAAf////8BAf////8AAAAABGGCCgQAAAAAABEAAABVcGRhdGVDZXJ0" + - "aWZpY2F0ZQIAADdhDwAALwEASDE3YQ8AAQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVu" + - "dHMCAAA4YQ8AAC4ARDhhDwCWBgAAAAEAKgEBIQAAABIAAABDZXJ0aWZpY2F0ZUdyb3VwSWQAEf////8A" + - "AAAAAAEAKgEBIAAAABEAAABDZXJ0aWZpY2F0ZVR5cGVJZAAR/////wAAAAAAAQAqAQEaAAAACwAAAENl" + - "cnRpZmljYXRlAA//////AAAAAAABACoBASUAAAASAAAASXNzdWVyQ2VydGlmaWNhdGVzAA8BAAAAAQAA" + - "AAAAAAAAAQAqAQEfAAAAEAAAAFByaXZhdGVLZXlGb3JtYXQADP////8AAAAAAAEAKgEBGQAAAAoAAABQ" + - "cml2YXRlS2V5AA//////AAAAAAABACgBAQAAAAEAAAAGAAAAAQH/////AAAAABdgqQoCAAAAAAAPAAAA" + - "T3V0cHV0QXJndW1lbnRzAgAAOWEPAAAuAEQ5YQ8AlgEAAAABACoBASMAAAAUAAAAQXBwbHlDaGFuZ2Vz" + - "UmVxdWlyZWQAAf////8AAAAAAAEAKAEBAAAAAQAAAAEAAAABAf////8AAAAABGGCCgQAAAAAAAwAAABB" + - "cHBseUNoYW5nZXMCAAA9YQ8AAC8BAL4xPWEPAAEB/////wAAAAAEYYIKBAAAAAAAFAAAAENyZWF0ZVNp" + - "Z25pbmdSZXF1ZXN0AgAAP2EPAAAvAQC7MT9hDwABAf////8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFy" + - "Z3VtZW50cwIAAEBhDwAALgBEQGEPAJYFAAAAAQAqAQEhAAAAEgAAAENlcnRpZmljYXRlR3JvdXBJZAAR" + - "/////wAAAAAAAQAqAQEgAAAAEQAAAENlcnRpZmljYXRlVHlwZUlkABH/////AAAAAAABACoBARoAAAAL" + - "AAAAU3ViamVjdE5hbWUADP////8AAAAAAAEAKgEBIwAAABQAAABSZWdlbmVyYXRlUHJpdmF0ZUtleQAB" + - "/////wAAAAAAAQAqAQEUAAAABQAAAE5vbmNlAA//////AAAAAAABACgBAQAAAAEAAAAFAAAAAQH/////" + - "AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAgAAQWEPAAAuAERBYQ8AlgEAAAABACoBASEA" + - "AAASAAAAQ2VydGlmaWNhdGVSZXF1ZXN0AA//////AAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAA" + - "AARhggoEAAAAAAAPAAAAR2V0UmVqZWN0ZWRMaXN0AgAAQmEPAAAvAQDnMUJhDwABAf////8BAAAAF2Cp" + - "CgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMCAABDYQ8AAC4ARENhDwCWAQAAAAEAKgEBHwAAAAwAAABD" + - "ZXJ0aWZpY2F0ZXMADwEAAAABAAAAAAAAAAABACgBAQAAAAEAAAABAAAAAQH/////AAAAABVgiQoCAAAA" + - "AAAHAAAARW5hYmxlZAEA4WgALgBE4WgAAAAB/////wEB/////wAAAAA="; - #endregion - #endif - #endregion - - #region Public Properties - /// - public PropertyState Enabled - { - get - { - return m_enabled; - } - - set - { - if (!Object.ReferenceEquals(m_enabled, value)) - { - ChangeMasks |= NodeStateChangeMasks.Children; - } - - m_enabled = value; - } - } - #endregion - - #region Overridden Methods - /// - public override void GetChildren( - ISystemContext context, - IList children) - { - if (m_enabled != null) - { - children.Add(m_enabled); - } - - base.GetChildren(context, children); - } - /// - protected override BaseInstanceState FindChild( - ISystemContext context, - QualifiedName browseName, - bool createOrReplace, - BaseInstanceState replacement) - { - if (QualifiedName.IsNull(browseName)) - { - return null; - } - - BaseInstanceState instance = null; - - switch (browseName.Name) - { - case Opc.Ua.BrowseNames.Enabled: - { - if (createOrReplace) - { - if (Enabled == null) - { - if (replacement == null) - { - Enabled = new PropertyState(this); - } - else - { - Enabled = (PropertyState)replacement; - } - } - } - - instance = Enabled; - break; - } - } - - if (instance != null) - { - return instance; - } + public ServiceResult ServiceResult { get; set; } + } - return base.FindChild(context, browseName, createOrReplace, replacement); - } - #endregion - #region Private Fields - private PropertyState m_enabled; - #endregion - } + /// + /// + public delegate ValueTask SetRegistrarEndpointsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + ApplicationDescription[] registrars, + CancellationToken cancellationToken); #endif #endregion @@ -101839,8 +111579,8 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAMAAAAElJZWVlVHNuSW50ZXJmYWNlQ29uZmlndXJhdGlvblRhbGtlclR5" + - "cGVJbnN0YW5jZQEAf14BAH9ef14AAP////8CAAAAFWCJCgIAAAAAAAoAAABNYWNBZGRyZXNzAgAAy2UP" + - "AAAvAD/LZQ8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAVGltZUF3YXJlT2Zmc2V0AQCCXgAv" + + "cGVJbnN0YW5jZQEAf14BAH9ef14AAP////8CAAAAFWCJCgIAAAAAAAoAAABNYWNBZGRyZXNzAgAArGYP" + + "AAAvAD+sZg8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAPAAAAVGltZUF3YXJlT2Zmc2V0AQCCXgAv" + "AD+CXgAAAAf/////AQH/////AAAAAA=="; #endregion #endif @@ -101988,8 +111728,8 @@ protected override void InitializeOptionalChildren(ISystemContext context) private const string InitializationString = "//////////8EYIACAQAAAAAAMgAAAElJZWVlVHNuSW50ZXJmYWNlQ29uZmlndXJhdGlvbkxpc3RlbmVy" + - "VHlwZUluc3RhbmNlAQCDXgEAg16DXgAA/////wIAAAAVYIkKAgAAAAAACgAAAE1hY0FkZHJlc3MCAADN" + - "ZQ8AAC8AP81lDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAA0AAABSZWNlaXZlT2Zmc2V0AQCGXgAv" + + "VHlwZUluc3RhbmNlAQCDXgEAg16DXgAA/////wIAAAAVYIkKAgAAAAAACgAAAE1hY0FkZHJlc3MCAACu" + + "Zg8AAC8AP65mDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAA0AAABSZWNlaXZlT2Zmc2V0AQCGXgAv" + "AD+GXgAAAAf/////AQH/////AAAAAA=="; #endregion #endif @@ -103364,6 +113104,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public AddPriorityMappingEntryMethodStateMethodCallHandler OnCall; + + /// + public AddPriorityMappingEntryMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -103377,6 +113120,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -103403,6 +113151,49 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + AddPriorityMappingEntryMethodStateResult _result = null; + + string mappingUri = (string)_inputArguments[0]; + string priorityLabel = (string)_inputArguments[1]; + byte priorityValue_PCP = (byte)_inputArguments[2]; + uint priorityValue_DSCP = (uint)_inputArguments[3]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + mappingUri, + priorityLabel, + priorityValue_PCP, + priorityValue_DSCP, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -103419,6 +113210,27 @@ public delegate ServiceResult AddPriorityMappingEntryMethodStateMethodCallHandle string priorityLabel, byte priorityValue_PCP, uint priorityValue_DSCP); + + /// + /// + public partial class AddPriorityMappingEntryMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask AddPriorityMappingEntryMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string mappingUri, + string priorityLabel, + byte priorityValue_PCP, + uint priorityValue_DSCP, + CancellationToken cancellationToken); #endif #endregion @@ -103469,6 +113281,9 @@ protected override void InitializeOptionalChildren(ISystemContext context) #region Event Callbacks /// public DeletePriorityMappingEntryMethodStateMethodCallHandler OnCall; + + /// + public DeletePriorityMappingEntryMethodStateMethodAsyncCallHandler OnCallAsync; #endregion #region Public Properties @@ -103482,6 +113297,11 @@ protected override ServiceResult Call( IList _inputArguments, IList _outputArguments) { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + if (OnCall == null) { return base.Call(_context, _objectId, _inputArguments, _outputArguments); @@ -103504,6 +113324,45 @@ protected override ServiceResult Call( return _result; } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + DeletePriorityMappingEntryMethodStateResult _result = null; + + string mappingUri = (string)_inputArguments[0]; + string priorityLabel = (string)_inputArguments[1]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + mappingUri, + priorityLabel, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + return _result.ServiceResult; + } + #endif + #endregion #region Private Fields @@ -103518,6 +113377,25 @@ public delegate ServiceResult DeletePriorityMappingEntryMethodStateMethodCallHan NodeId _objectId, string mappingUri, string priorityLabel); + + /// + /// + public partial class DeletePriorityMappingEntryMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + } + + + /// + /// + public delegate ValueTask DeletePriorityMappingEntryMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + string mappingUri, + string priorityLabel, + CancellationToken cancellationToken); #endif #endregion @@ -105570,217 +115448,701 @@ protected override BaseInstanceState FindChild( } } - instance = PortIdSubtype; - break; - } + instance = PortIdSubtype; + break; + } + + case Opc.Ua.BrowseNames.PortId: + { + if (createOrReplace) + { + if (PortId == null) + { + if (replacement == null) + { + PortId = new BaseDataVariableState(this); + } + else + { + PortId = (BaseDataVariableState)replacement; + } + } + } + + instance = PortId; + break; + } + + case Opc.Ua.BrowseNames.PortDescription: + { + if (createOrReplace) + { + if (PortDescription == null) + { + if (replacement == null) + { + PortDescription = new BaseDataVariableState(this); + } + else + { + PortDescription = (BaseDataVariableState)replacement; + } + } + } + + instance = PortDescription; + break; + } + + case Opc.Ua.BrowseNames.SystemName: + { + if (createOrReplace) + { + if (SystemName == null) + { + if (replacement == null) + { + SystemName = new BaseDataVariableState(this); + } + else + { + SystemName = (BaseDataVariableState)replacement; + } + } + } + + instance = SystemName; + break; + } + + case Opc.Ua.BrowseNames.SystemDescription: + { + if (createOrReplace) + { + if (SystemDescription == null) + { + if (replacement == null) + { + SystemDescription = new BaseDataVariableState(this); + } + else + { + SystemDescription = (BaseDataVariableState)replacement; + } + } + } + + instance = SystemDescription; + break; + } + + case Opc.Ua.BrowseNames.SystemCapabilitiesSupported: + { + if (createOrReplace) + { + if (SystemCapabilitiesSupported == null) + { + if (replacement == null) + { + SystemCapabilitiesSupported = new BaseDataVariableState(this); + } + else + { + SystemCapabilitiesSupported = (BaseDataVariableState)replacement; + } + } + } + + instance = SystemCapabilitiesSupported; + break; + } + + case Opc.Ua.BrowseNames.SystemCapabilitiesEnabled: + { + if (createOrReplace) + { + if (SystemCapabilitiesEnabled == null) + { + if (replacement == null) + { + SystemCapabilitiesEnabled = new BaseDataVariableState(this); + } + else + { + SystemCapabilitiesEnabled = (BaseDataVariableState)replacement; + } + } + } + + instance = SystemCapabilitiesEnabled; + break; + } + + case Opc.Ua.BrowseNames.RemoteChanges: + { + if (createOrReplace) + { + if (RemoteChanges == null) + { + if (replacement == null) + { + RemoteChanges = new BaseDataVariableState(this); + } + else + { + RemoteChanges = (BaseDataVariableState)replacement; + } + } + } + + instance = RemoteChanges; + break; + } + + case Opc.Ua.BrowseNames.RemoteTooManyNeighbors: + { + if (createOrReplace) + { + if (RemoteTooManyNeighbors == null) + { + if (replacement == null) + { + RemoteTooManyNeighbors = new BaseDataVariableState(this); + } + else + { + RemoteTooManyNeighbors = (BaseDataVariableState)replacement; + } + } + } + + instance = RemoteTooManyNeighbors; + break; + } + + case Opc.Ua.BrowseNames.ManagementAddress: + { + if (createOrReplace) + { + if (ManagementAddress == null) + { + if (replacement == null) + { + ManagementAddress = new BaseDataVariableState(this); + } + else + { + ManagementAddress = (BaseDataVariableState)replacement; + } + } + } + + instance = ManagementAddress; + break; + } + + case Opc.Ua.BrowseNames.RemoteUnknownTlv: + { + if (createOrReplace) + { + if (RemoteUnknownTlv == null) + { + if (replacement == null) + { + RemoteUnknownTlv = new BaseDataVariableState(this); + } + else + { + RemoteUnknownTlv = (BaseDataVariableState)replacement; + } + } + } + + instance = RemoteUnknownTlv; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private BaseDataVariableState m_timeMark; + private BaseDataVariableState m_remoteIndex; + private BaseDataVariableState m_chassisIdSubtype; + private BaseDataVariableState m_chassisId; + private BaseDataVariableState m_portIdSubtype; + private BaseDataVariableState m_portId; + private BaseDataVariableState m_portDescription; + private BaseDataVariableState m_systemName; + private BaseDataVariableState m_systemDescription; + private BaseDataVariableState m_systemCapabilitiesSupported; + private BaseDataVariableState m_systemCapabilitiesEnabled; + private BaseDataVariableState m_remoteChanges; + private BaseDataVariableState m_remoteTooManyNeighbors; + private BaseDataVariableState m_managementAddress; + private BaseDataVariableState m_remoteUnknownTlv; + #endregion + } + #endif + #endregion + + #region ReferenceDescriptionVariableState Class + #if (!OPCUA_EXCLUDE_ReferenceDescriptionVariableState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class ReferenceDescriptionVariableState : BaseDataVariableState + { + #region Constructors + /// + public ReferenceDescriptionVariableState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.VariableTypes.ReferenceDescriptionVariableType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + /// + protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.DataTypes.ReferenceDescriptionDataType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + /// + protected override int GetDefaultValueRank() + { + return ValueRanks.Scalar; + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + + if (ReferenceRefinement != null) + { + ReferenceRefinement.Initialize(context, ReferenceRefinement_InitializationString); + } + } + + #region Initialization String + private const string ReferenceRefinement_InitializationString = + "//////////8XYIkKAgAAAAAAEwAAAFJlZmVyZW5jZVJlZmluZW1lbnQBAJJ/AC4ARJJ/AAABAJR/AQAA" + + "AAEAAAAAAAAAAQH/////AAAAAA=="; + + private const string InitializationString = + "//////////8VYIkCAgAAAAAAKAAAAFJlZmVyZW5jZURlc2NyaXB0aW9uVmFyaWFibGVUeXBlSW5zdGFu" + + "Y2UBAJF/AQCRf5F/AAABAJN//////wEB/////wEAAAAXYIkKAgAAAAAAEwAAAFJlZmVyZW5jZVJlZmlu" + + "ZW1lbnQBAJJ/AC4ARJJ/AAABAJR/AQAAAAEAAAAAAAAAAQH/////AAAAAA=="; + #endregion + #endif + #endregion + + #region Public Properties + /// + public PropertyState ReferenceRefinement + { + get + { + return m_referenceRefinement; + } + + set + { + if (!Object.ReferenceEquals(m_referenceRefinement, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_referenceRefinement = value; + } + } + #endregion + + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_referenceRefinement != null) + { + children.Add(m_referenceRefinement); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.ReferenceRefinement: + { + if (createOrReplace) + { + if (ReferenceRefinement == null) + { + if (replacement == null) + { + ReferenceRefinement = new PropertyState(this); + } + else + { + ReferenceRefinement = (PropertyState)replacement; + } + } + } + + instance = ReferenceRefinement; + break; + } + } + + if (instance != null) + { + return instance; + } + + return base.FindChild(context, browseName, createOrReplace, replacement); + } + #endregion + + #region Private Fields + private PropertyState m_referenceRefinement; + #endregion + } + #endif + #endregion + + #region LogObjectState Class + #if (!OPCUA_EXCLUDE_LogObjectState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class LogObjectState : BaseObjectState + { + #region Constructors + /// + public LogObjectState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.LogObjectType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + + if (MaxRecords != null) + { + MaxRecords.Initialize(context, MaxRecords_InitializationString); + } + + if (MaxStorageDuration != null) + { + MaxStorageDuration.Initialize(context, MaxStorageDuration_InitializationString); + } + + if (MinimumSeverity != null) + { + MinimumSeverity.Initialize(context, MinimumSeverity_InitializationString); + } + } + + #region Initialization String + private const string MaxRecords_InitializationString = + "//////////8VYIkKAgAAAAAACgAAAE1heFJlY29yZHMBAJxLAC4ARJxLAAAAB/////8BAf////8AAAAA"; + + private const string MaxStorageDuration_InitializationString = + "//////////8VYIkKAgAAAAAAEgAAAE1heFN0b3JhZ2VEdXJhdGlvbgEAnUsALgBEnUsAAAEAIgH/////" + + "AQH/////AAAAAA=="; + + private const string MinimumSeverity_InitializationString = + "//////////8VYIkKAgAAAAAADwAAAE1pbmltdW1TZXZlcml0eQEAIE0ALgBEIE0AAAAF/////wEB////" + + "/wAAAAA="; + + private const string InitializationString = + "//////////8EYIACAQAAAAAAFQAAAExvZ09iamVjdFR5cGVJbnN0YW5jZQEAmEsBAJhLmEsAAP////8E" + + "AAAABGGCCgQAAAAAAAoAAABHZXRSZWNvcmRzAQCZSwAvAQCZS5lLAAABAf////8CAAAAF2CpCgIAAAAA" + + "AA4AAABJbnB1dEFyZ3VtZW50cwEAmksALgBEmksAAJYGAAAAAQAqAQEYAAAACQAAAFN0YXJ0VGltZQAN" + + "/////wAAAAAAAQAqAQEWAAAABwAAAEVuZFRpbWUADf////8AAAAAAAEAKgEBHwAAABAAAABNYXhSZXR1" + + "cm5SZWNvcmRzAAf/////AAAAAAABACoBAR4AAAAPAAAATWluaW11bVNldmVyaXR5AAX/////AAAAAAAB" + + "ACoBARwAAAALAAAAUmVxdWVzdE1hc2sBACVN/////wAAAAAAAQAqAQEiAAAAEwAAAENvbnRpbnVhdGlv" + + "blBvaW50SW4AD/////8AAAAAAAEAKAEBAAAAAQAAAAYAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABP" + + "dXRwdXRBcmd1bWVudHMBAJtLAC4ARJtLAACWAgAAAAEAKgEBGAAAAAcAAABSZXN1bHRzAQAhTf////8A" + + "AAAAAAEAKgEBIwAAABQAAABDb250aW51YXRpb25Qb2ludE91dAAP/////wAAAAAAAQAoAQEAAAABAAAA" + + "AgAAAAEB/////wAAAAAVYIkKAgAAAAAACgAAAE1heFJlY29yZHMBAJxLAC4ARJxLAAAAB/////8BAf//" + + "//8AAAAAFWCJCgIAAAAAABIAAABNYXhTdG9yYWdlRHVyYXRpb24BAJ1LAC4ARJ1LAAABACIB/////wEB" + + "/////wAAAAAVYIkKAgAAAAAADwAAAE1pbmltdW1TZXZlcml0eQEAIE0ALgBEIE0AAAAF/////wEB////" + + "/wAAAAA="; + #endregion + #endif + #endregion + + #region Public Properties + /// + public GetRecordsMethodState GetRecords + { + get + { + return m_getRecordsMethod; + } + + set + { + if (!Object.ReferenceEquals(m_getRecordsMethod, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_getRecordsMethod = value; + } + } + + /// + public PropertyState MaxRecords + { + get + { + return m_maxRecords; + } - case Opc.Ua.BrowseNames.PortId: + set + { + if (!Object.ReferenceEquals(m_maxRecords, value)) { - if (createOrReplace) - { - if (PortId == null) - { - if (replacement == null) - { - PortId = new BaseDataVariableState(this); - } - else - { - PortId = (BaseDataVariableState)replacement; - } - } - } - - instance = PortId; - break; + ChangeMasks |= NodeStateChangeMasks.Children; } - case Opc.Ua.BrowseNames.PortDescription: - { - if (createOrReplace) - { - if (PortDescription == null) - { - if (replacement == null) - { - PortDescription = new BaseDataVariableState(this); - } - else - { - PortDescription = (BaseDataVariableState)replacement; - } - } - } + m_maxRecords = value; + } + } - instance = PortDescription; - break; - } + /// + public PropertyState MaxStorageDuration + { + get + { + return m_maxStorageDuration; + } - case Opc.Ua.BrowseNames.SystemName: + set + { + if (!Object.ReferenceEquals(m_maxStorageDuration, value)) { - if (createOrReplace) - { - if (SystemName == null) - { - if (replacement == null) - { - SystemName = new BaseDataVariableState(this); - } - else - { - SystemName = (BaseDataVariableState)replacement; - } - } - } - - instance = SystemName; - break; + ChangeMasks |= NodeStateChangeMasks.Children; } - case Opc.Ua.BrowseNames.SystemDescription: - { - if (createOrReplace) - { - if (SystemDescription == null) - { - if (replacement == null) - { - SystemDescription = new BaseDataVariableState(this); - } - else - { - SystemDescription = (BaseDataVariableState)replacement; - } - } - } + m_maxStorageDuration = value; + } + } - instance = SystemDescription; - break; - } + /// + public PropertyState MinimumSeverity + { + get + { + return m_minimumSeverity; + } - case Opc.Ua.BrowseNames.SystemCapabilitiesSupported: + set + { + if (!Object.ReferenceEquals(m_minimumSeverity, value)) { - if (createOrReplace) - { - if (SystemCapabilitiesSupported == null) - { - if (replacement == null) - { - SystemCapabilitiesSupported = new BaseDataVariableState(this); - } - else - { - SystemCapabilitiesSupported = (BaseDataVariableState)replacement; - } - } - } - - instance = SystemCapabilitiesSupported; - break; + ChangeMasks |= NodeStateChangeMasks.Children; } - case Opc.Ua.BrowseNames.SystemCapabilitiesEnabled: - { - if (createOrReplace) - { - if (SystemCapabilitiesEnabled == null) - { - if (replacement == null) - { - SystemCapabilitiesEnabled = new BaseDataVariableState(this); - } - else - { - SystemCapabilitiesEnabled = (BaseDataVariableState)replacement; - } - } - } + m_minimumSeverity = value; + } + } + #endregion - instance = SystemCapabilitiesEnabled; - break; - } + #region Overridden Methods + /// + public override void GetChildren( + ISystemContext context, + IList children) + { + if (m_getRecordsMethod != null) + { + children.Add(m_getRecordsMethod); + } - case Opc.Ua.BrowseNames.RemoteChanges: + if (m_maxRecords != null) + { + children.Add(m_maxRecords); + } + + if (m_maxStorageDuration != null) + { + children.Add(m_maxStorageDuration); + } + + if (m_minimumSeverity != null) + { + children.Add(m_minimumSeverity); + } + + base.GetChildren(context, children); + } + + /// + protected override BaseInstanceState FindChild( + ISystemContext context, + QualifiedName browseName, + bool createOrReplace, + BaseInstanceState replacement) + { + if (QualifiedName.IsNull(browseName)) + { + return null; + } + + BaseInstanceState instance = null; + + switch (browseName.Name) + { + case Opc.Ua.BrowseNames.GetRecords: { if (createOrReplace) { - if (RemoteChanges == null) + if (GetRecords == null) { if (replacement == null) { - RemoteChanges = new BaseDataVariableState(this); + GetRecords = new GetRecordsMethodState(this); } else { - RemoteChanges = (BaseDataVariableState)replacement; + GetRecords = (GetRecordsMethodState)replacement; } } } - instance = RemoteChanges; + instance = GetRecords; break; } - case Opc.Ua.BrowseNames.RemoteTooManyNeighbors: + case Opc.Ua.BrowseNames.MaxRecords: { if (createOrReplace) { - if (RemoteTooManyNeighbors == null) + if (MaxRecords == null) { if (replacement == null) { - RemoteTooManyNeighbors = new BaseDataVariableState(this); + MaxRecords = new PropertyState(this); } else { - RemoteTooManyNeighbors = (BaseDataVariableState)replacement; + MaxRecords = (PropertyState)replacement; } } } - instance = RemoteTooManyNeighbors; + instance = MaxRecords; break; } - case Opc.Ua.BrowseNames.ManagementAddress: + case Opc.Ua.BrowseNames.MaxStorageDuration: { if (createOrReplace) { - if (ManagementAddress == null) + if (MaxStorageDuration == null) { if (replacement == null) { - ManagementAddress = new BaseDataVariableState(this); + MaxStorageDuration = new PropertyState(this); } else { - ManagementAddress = (BaseDataVariableState)replacement; + MaxStorageDuration = (PropertyState)replacement; } } } - instance = ManagementAddress; + instance = MaxStorageDuration; break; } - case Opc.Ua.BrowseNames.RemoteUnknownTlv: + case Opc.Ua.BrowseNames.MinimumSeverity: { if (createOrReplace) { - if (RemoteUnknownTlv == null) + if (MinimumSeverity == null) { if (replacement == null) { - RemoteUnknownTlv = new BaseDataVariableState(this); + MinimumSeverity = new PropertyState(this); } else { - RemoteUnknownTlv = (BaseDataVariableState)replacement; + MinimumSeverity = (PropertyState)replacement; } } } - instance = RemoteUnknownTlv; + instance = MinimumSeverity; break; } } @@ -105795,55 +116157,243 @@ protected override BaseInstanceState FindChild( #endregion #region Private Fields - private BaseDataVariableState m_timeMark; - private BaseDataVariableState m_remoteIndex; - private BaseDataVariableState m_chassisIdSubtype; - private BaseDataVariableState m_chassisId; - private BaseDataVariableState m_portIdSubtype; - private BaseDataVariableState m_portId; - private BaseDataVariableState m_portDescription; - private BaseDataVariableState m_systemName; - private BaseDataVariableState m_systemDescription; - private BaseDataVariableState m_systemCapabilitiesSupported; - private BaseDataVariableState m_systemCapabilitiesEnabled; - private BaseDataVariableState m_remoteChanges; - private BaseDataVariableState m_remoteTooManyNeighbors; - private BaseDataVariableState m_managementAddress; - private BaseDataVariableState m_remoteUnknownTlv; + private GetRecordsMethodState m_getRecordsMethod; + private PropertyState m_maxRecords; + private PropertyState m_maxStorageDuration; + private PropertyState m_minimumSeverity; #endregion } #endif #endregion - #region ReferenceDescriptionVariableState Class - #if (!OPCUA_EXCLUDE_ReferenceDescriptionVariableState) + #region GetRecordsMethodState Class + #if (!OPCUA_EXCLUDE_GetRecordsMethodState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - public partial class ReferenceDescriptionVariableState : BaseDataVariableState + public partial class GetRecordsMethodState : MethodState { #region Constructors /// - public ReferenceDescriptionVariableState(NodeState parent) : base(parent) + public GetRecordsMethodState(NodeState parent) : base(parent) { } /// - protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + public new static NodeState Construct(NodeState parent) { - return Opc.Ua.NodeId.Create(Opc.Ua.VariableTypes.ReferenceDescriptionVariableType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + return new GetRecordsMethodState(parent); } + #if (!OPCUA_EXCLUDE_InitializationStrings) /// - protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris) + protected override void Initialize(ISystemContext context) { - return Opc.Ua.NodeId.Create(Opc.Ua.DataTypes.ReferenceDescriptionDataType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); } /// - protected override int GetDefaultValueRank() + protected override void InitializeOptionalChildren(ISystemContext context) { - return ValueRanks.Scalar; + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYYIKBAAAAAAAFAAAAEdldFJlY29yZHNNZXRob2RUeXBlAQCeSwAvAQCeS55LAAABAf//" + + "//8CAAAAF2CpCgIAAAAAAA4AAABJbnB1dEFyZ3VtZW50cwEAn0sALgBEn0sAAJYGAAAAAQAqAQEYAAAA" + + "CQAAAFN0YXJ0VGltZQAN/////wAAAAAAAQAqAQEWAAAABwAAAEVuZFRpbWUADf////8AAAAAAAEAKgEB" + + "HwAAABAAAABNYXhSZXR1cm5SZWNvcmRzAAf/////AAAAAAABACoBAR4AAAAPAAAATWluaW11bVNldmVy" + + "aXR5AAX/////AAAAAAABACoBARwAAAALAAAAUmVxdWVzdE1hc2sBACVN/////wAAAAAAAQAqAQEiAAAA" + + "EwAAAENvbnRpbnVhdGlvblBvaW50SW4AD/////8AAAAAAAEAKAEBAAAAAQAAAAYAAAABAf////8AAAAA" + + "F2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAKBLAC4ARKBLAACWAgAAAAEAKgEBGAAAAAcAAABS" + + "ZXN1bHRzAQAhTf////8AAAAAAAEAKgEBIwAAABQAAABDb250aW51YXRpb25Qb2ludE91dAAP/////wAA" + + "AAAAAQAoAQEAAAABAAAAAgAAAAEB/////wAAAAA="; + #endregion + #endif + #endregion + + #region Event Callbacks + /// + public GetRecordsMethodStateMethodCallHandler OnCall; + + /// + public GetRecordsMethodStateMethodAsyncCallHandler OnCallAsync; + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + /// + protected override ServiceResult Call( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments) + { + if (OnCallAsync != null) + { + throw new System.InvalidOperationException(); + } + + if (OnCall == null) + { + return base.Call(_context, _objectId, _inputArguments, _outputArguments); + } + + ServiceResult _result = null; + + DateTime startTime = (DateTime)_inputArguments[0]; + DateTime endTime = (DateTime)_inputArguments[1]; + uint maxReturnRecords = (uint)_inputArguments[2]; + ushort minimumSeverity = (ushort)_inputArguments[3]; + uint requestMask = (uint)_inputArguments[4]; + byte[] continuationPointIn = (byte[])_inputArguments[5]; + + LogRecordsDataType results = (LogRecordsDataType)_outputArguments[0]; + byte[] continuationPointOut = (byte[])_outputArguments[1]; + + if (OnCall != null) + { + _result = OnCall( + _context, + this, + _objectId, + startTime, + endTime, + maxReturnRecords, + minimumSeverity, + requestMask, + continuationPointIn, + ref results, + ref continuationPointOut); + } + + _outputArguments[0] = results; + _outputArguments[1] = continuationPointOut; + + return _result; + } + + #if (OPCUA_INCLUDE_ASYNC) + /// + protected override async ValueTask CallAsync( + ISystemContext _context, + NodeId _objectId, + IList _inputArguments, + IList _outputArguments, + CancellationToken cancellationToken = default) + { + if (OnCall == null && OnCallAsync == null) + { + return await base.CallAsync(_context, _objectId, _inputArguments, _outputArguments, cancellationToken).ConfigureAwait(false); + } + + GetRecordsMethodStateResult _result = null; + + DateTime startTime = (DateTime)_inputArguments[0]; + DateTime endTime = (DateTime)_inputArguments[1]; + uint maxReturnRecords = (uint)_inputArguments[2]; + ushort minimumSeverity = (ushort)_inputArguments[3]; + uint requestMask = (uint)_inputArguments[4]; + byte[] continuationPointIn = (byte[])_inputArguments[5]; + + if (OnCallAsync != null) + { + _result = await OnCallAsync( + _context, + this, + _objectId, + startTime, + endTime, + maxReturnRecords, + minimumSeverity, + requestMask, + continuationPointIn, + cancellationToken).ConfigureAwait(false); + } + else if (OnCall != null) + { + return Call(_context, _objectId, _inputArguments, _outputArguments); + } + + _outputArguments[0] = _result.Results; + _outputArguments[1] = _result.ContinuationPointOut; + + return _result.ServiceResult; + } + #endif + + #endregion + + #region Private Fields + #endregion + } + + /// + /// + public delegate ServiceResult GetRecordsMethodStateMethodCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DateTime startTime, + DateTime endTime, + uint maxReturnRecords, + ushort minimumSeverity, + uint requestMask, + byte[] continuationPointIn, + ref LogRecordsDataType results, + ref byte[] continuationPointOut); + + /// + /// + public partial class GetRecordsMethodStateResult + { + /// + public ServiceResult ServiceResult { get; set; } + /// + public LogRecordsDataType Results { get; set; } + /// + public byte[] ContinuationPointOut { get; set; } + } + + + /// + /// + public delegate ValueTask GetRecordsMethodStateMethodAsyncCallHandler( + ISystemContext _context, + MethodState _method, + NodeId _objectId, + DateTime startTime, + DateTime endTime, + uint maxReturnRecords, + ushort minimumSeverity, + uint requestMask, + byte[] continuationPointIn, + CancellationToken cancellationToken); + #endif + #endregion + + #region BaseLogEventState Class + #if (!OPCUA_EXCLUDE_BaseLogEventState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class BaseLogEventState : BaseEventState + { + #region Constructors + /// + public BaseLogEventState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.BaseLogEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); } #if (!OPCUA_EXCLUDE_InitializationStrings) @@ -105867,42 +116417,78 @@ protected override void InitializeOptionalChildren(ISystemContext context) { base.InitializeOptionalChildren(context); - if (ReferenceRefinement != null) + if (ErrorCode != null) { - ReferenceRefinement.Initialize(context, ReferenceRefinement_InitializationString); + ErrorCode.Initialize(context, ErrorCode_InitializationString); + } + + if (ErrorCodeNode != null) + { + ErrorCodeNode.Initialize(context, ErrorCodeNode_InitializationString); } } #region Initialization String - private const string ReferenceRefinement_InitializationString = - "//////////8XYIkKAgAAAAAAEwAAAFJlZmVyZW5jZVJlZmluZW1lbnQBAJJ/AC4ARJJ/AAABAJR/AQAA" + - "AAEAAAAAAAAAAQH/////AAAAAA=="; + private const string ErrorCode_InitializationString = + "//////////8VYIkKAgAAAAAACQAAAEVycm9yQ29kZQEApUsALgBEpUsAAAAT/////wEB/////wAAAAA="; + + private const string ErrorCodeNode_InitializationString = + "//////////8VYIkKAgAAAAAADQAAAEVycm9yQ29kZU5vZGUBAKZLAC4ARKZLAAAAEf////8BAf////8A" + + "AAAA"; private const string InitializationString = - "//////////8VYIkCAgAAAAAAKAAAAFJlZmVyZW5jZURlc2NyaXB0aW9uVmFyaWFibGVUeXBlSW5zdGFu" + - "Y2UBAJF/AQCRf5F/AAABAJN//////wEB/////wEAAAAXYIkKAgAAAAAAEwAAAFJlZmVyZW5jZVJlZmlu" + - "ZW1lbnQBAJJ/AC4ARJJ/AAABAJR/AQAAAAEAAAAAAAAAAQH/////AAAAAA=="; + "//////////8EYIACAQAAAAAAGAAAAEJhc2VMb2dFdmVudFR5cGVJbnN0YW5jZQEAoksBAKJLoksAAP//" + + "//8MAAAAFWCJCgIAAAAAAAcAAABFdmVudElkAgAAsGYPAAAuAESwZg8AAA//////AQH/////AAAAABVg" + + "iQoCAAAAAAAJAAAARXZlbnRUeXBlAgAAsWYPAAAuAESxZg8AABH/////AQH/////AAAAABVgiQoCAAAA" + + "AAAKAAAAU291cmNlTm9kZQIAALJmDwAALgBEsmYPAAAR/////wEB/////wAAAAAVYIkKAgAAAAAACgAA" + + "AFNvdXJjZU5hbWUCAACzZg8AAC4ARLNmDwAADP////8BAf////8AAAAAFWCJCgIAAAAAAAQAAABUaW1l" + + "AgAAtGYPAAAuAES0Zg8AAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAsAAABSZWNlaXZlVGltZQIA" + + "ALVmDwAALgBEtWYPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAHAAAATWVzc2FnZQIAALdmDwAA" + + "LgBEt2YPAAAV/////wEB/////wAAAAAVYIkKAgAAAAAACAAAAFNldmVyaXR5AgAAuGYPAAAuAES4Zg8A" + + "AAX/////AQH/////AAAAABVgiQoCAAAAAAAQAAAAQ29uZGl0aW9uQ2xhc3NJZAEAo0sALgBEo0sAAAAR" + + "/////wEB/////wAAAAAVYIkKAgAAAAAAEgAAAENvbmRpdGlvbkNsYXNzTmFtZQEApEsALgBEpEsAAAAV" + + "/////wEB/////wAAAAAVYIkKAgAAAAAACQAAAEVycm9yQ29kZQEApUsALgBEpUsAAAAT/////wEB////" + + "/wAAAAAVYIkKAgAAAAAADQAAAEVycm9yQ29kZU5vZGUBAKZLAC4ARKZLAAAAEf////8BAf////8AAAAA"; #endregion #endif #endregion #region Public Properties /// - public PropertyState ReferenceRefinement + public PropertyState ErrorCode { get { - return m_referenceRefinement; + return m_errorCode; } set { - if (!Object.ReferenceEquals(m_referenceRefinement, value)) + if (!Object.ReferenceEquals(m_errorCode, value)) { ChangeMasks |= NodeStateChangeMasks.Children; } - m_referenceRefinement = value; + m_errorCode = value; + } + } + + /// + public PropertyState ErrorCodeNode + { + get + { + return m_errorCodeNode; + } + + set + { + if (!Object.ReferenceEquals(m_errorCodeNode, value)) + { + ChangeMasks |= NodeStateChangeMasks.Children; + } + + m_errorCodeNode = value; } } #endregion @@ -105913,9 +116499,14 @@ public override void GetChildren( ISystemContext context, IList children) { - if (m_referenceRefinement != null) + if (m_errorCode != null) { - children.Add(m_referenceRefinement); + children.Add(m_errorCode); + } + + if (m_errorCodeNode != null) + { + children.Add(m_errorCodeNode); } base.GetChildren(context, children); @@ -105937,24 +116528,45 @@ protected override BaseInstanceState FindChild( switch (browseName.Name) { - case Opc.Ua.BrowseNames.ReferenceRefinement: + case Opc.Ua.BrowseNames.ErrorCode: { if (createOrReplace) { - if (ReferenceRefinement == null) + if (ErrorCode == null) { if (replacement == null) { - ReferenceRefinement = new PropertyState(this); + ErrorCode = new PropertyState(this); } else { - ReferenceRefinement = (PropertyState)replacement; + ErrorCode = (PropertyState)replacement; } } } - instance = ReferenceRefinement; + instance = ErrorCode; + break; + } + + case Opc.Ua.BrowseNames.ErrorCodeNode: + { + if (createOrReplace) + { + if (ErrorCodeNode == null) + { + if (replacement == null) + { + ErrorCodeNode = new PropertyState(this); + } + else + { + ErrorCodeNode = (PropertyState)replacement; + } + } + } + + instance = ErrorCodeNode; break; } } @@ -105969,7 +116581,137 @@ protected override BaseInstanceState FindChild( #endregion #region Private Fields - private PropertyState m_referenceRefinement; + private PropertyState m_errorCode; + private PropertyState m_errorCodeNode; + #endregion + } + #endif + #endregion + + #region LogOverflowEventState Class + #if (!OPCUA_EXCLUDE_LogOverflowEventState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class LogOverflowEventState : BaseEventState + { + #region Constructors + /// + public LogOverflowEventState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.LogOverflowEventType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAHAAAAExvZ092ZXJmbG93RXZlbnRUeXBlSW5zdGFuY2UBAKlLAQCpS6lL" + + "AAD/////CAAAABVgiQoCAAAAAAAHAAAARXZlbnRJZAIAALtmDwAALgBEu2YPAAAP/////wEB/////wAA" + + "AAAVYIkKAgAAAAAACQAAAEV2ZW50VHlwZQIAALxmDwAALgBEvGYPAAAR/////wEB/////wAAAAAVYIkK" + + "AgAAAAAACgAAAFNvdXJjZU5vZGUCAAC9Zg8AAC4ARL1mDwAAEf////8BAf////8AAAAAFWCJCgIAAAAA" + + "AAoAAABTb3VyY2VOYW1lAgAAvmYPAAAuAES+Zg8AAAz/////AQH/////AAAAABVgiQoCAAAAAAAEAAAA" + + "VGltZQIAAL9mDwAALgBEv2YPAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAALAAAAUmVjZWl2ZVRp" + + "bWUCAADAZg8AAC4ARMBmDwABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABwAAAE1lc3NhZ2UCAADC" + + "Zg8AAC4ARMJmDwAAFf////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABTZXZlcml0eQIAAMNmDwAALgBE" + + "w2YPAAAF/////wEB/////wAAAAA="; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields + #endregion + } + #endif + #endregion + + #region LogEntryConditionClassState Class + #if (!OPCUA_EXCLUDE_LogEntryConditionClassState) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + public partial class LogEntryConditionClassState : BaseConditionClassState + { + #region Constructors + /// + public LogEntryConditionClassState(NodeState parent) : base(parent) + { + } + + /// + protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris) + { + return Opc.Ua.NodeId.Create(Opc.Ua.ObjectTypes.LogEntryConditionClassType, Opc.Ua.Namespaces.OpcUa, namespaceUris); + } + + #if (!OPCUA_EXCLUDE_InitializationStrings) + /// + protected override void Initialize(ISystemContext context) + { + base.Initialize(context); + Initialize(context, InitializationString); + InitializeOptionalChildren(context); + } + + /// + protected override void Initialize(ISystemContext context, NodeState source) + { + InitializeOptionalChildren(context); + base.Initialize(context, source); + } + + /// + protected override void InitializeOptionalChildren(ISystemContext context) + { + base.InitializeOptionalChildren(context); + } + + #region Initialization String + private const string InitializationString = + "//////////8EYIACAQAAAAAAIgAAAExvZ0VudHJ5Q29uZGl0aW9uQ2xhc3NUeXBlSW5zdGFuY2UBAKpL" + + "AQCqS6pLAAD/////AAAAAA=="; + #endregion + #endif + #endregion + + #region Public Properties + #endregion + + #region Overridden Methods + #endregion + + #region Private Fields #endregion } #endif diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Constants.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Constants.cs index ba80b22b5c..455e60e3b7 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Constants.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Constants.cs @@ -252,9 +252,45 @@ public static partial class DataTypes /// public const uint TrustListDataType = 12554; + /// + public const uint BaseConfigurationDataType = 15434; + + /// + public const uint BaseConfigurationRecordDataType = 15435; + + /// + public const uint CertificateGroupDataType = 15436; + + /// + public const uint ConfigurationUpdateTargetType = 15538; + + /// + public const uint ConfigurationUpdateType = 15539; + /// public const uint TransactionErrorType = 32285; + /// + public const uint ApplicationConfigurationDataType = 15549; + + /// + public const uint ApplicationIdentityDataType = 15556; + + /// + public const uint EndpointDataType = 15557; + + /// + public const uint ServerEndpointDataType = 15558; + + /// + public const uint SecuritySettingsDataType = 15559; + + /// + public const uint UserTokenSettingsDataType = 15560; + + /// + public const uint AuthorizationServiceConfigurationDataType = 19445; + /// public const uint DecimalDataType = 17861; @@ -621,6 +657,24 @@ public static partial class DataTypes /// public const uint ReferenceListEntryDataType = 32660; + /// + public const uint LogRecord = 19361; + + /// + public const uint LogRecordsDataType = 19745; + + /// + public const uint SpanContextDataType = 19746; + + /// + public const uint TraceContextDataType = 19747; + + /// + public const uint NameValuePair = 19748; + + /// + public const uint LogRecordMask = 19749; + /// public const uint IdType = 256; @@ -2018,9 +2072,6 @@ public static partial class Methods /// public const uint CertificateGroupType_TrustList_RemoveCertificate = 13629; - /// - public const uint CertificateGroupType_GetRejectedList = 23526; - /// public const uint CertificateGroupType_CertificateExpired_Disable = 19483; @@ -2063,6 +2114,9 @@ public static partial class Methods /// public const uint CertificateGroupType_TrustListOutOfDate_ShelvingState_OneShotShelve = 20248; + /// + public const uint CertificateGroupType_GetRejectedList = 23526; + /// public const uint CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open = 13821; @@ -2351,6 +2405,24 @@ public static partial class Methods /// public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_ShelvingState_OneShotShelve = 21637; + /// + public const uint ConfigurationFileType_ConfirmUpdate = 15508; + + /// + public const uint ConfigurationFileType_CloseAndUpdate = 15505; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate = 18533; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges = 18539; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest = 18541; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList = 18544; + /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 16717; @@ -2568,16 +2640,55 @@ public static partial class Methods public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = 18468; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate = 18533; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open = 18562; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges = 18539; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close = 18565; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest = 18541; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read = 18567; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList = 18544; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write = 18570; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition = 18572; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition = 18575; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate = 18584; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate = 18581; + + /// + public const uint ServerConfigurationType_UpdateCertificate = 12616; + + /// + public const uint ServerConfigurationType_CreateSelfSignedCertificate = 19337; + + /// + public const uint ServerConfigurationType_DeleteCertificate = 19340; + + /// + public const uint ServerConfigurationType_GetCertificates = 32296; + + /// + public const uint ServerConfigurationType_ApplyChanges = 12734; + + /// + public const uint ServerConfigurationType_CancelChanges = 25698; + + /// + public const uint ServerConfigurationType_CreateSigningRequest = 12731; + + /// + public const uint ServerConfigurationType_GetRejectedList = 12775; + + /// + public const uint ServerConfigurationType_ResetToServerDefaults = 25699; /// public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 13958; @@ -2796,25 +2907,46 @@ public static partial class Methods public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = 22525; /// - public const uint ServerConfigurationType_UpdateCertificate = 12616; + public const uint ServerConfigurationType_ConfigurationFile_Open = 15572; /// - public const uint ServerConfigurationType_GetCertificates = 32296; + public const uint ServerConfigurationType_ConfigurationFile_Close = 15575; /// - public const uint ServerConfigurationType_ApplyChanges = 12734; + public const uint ServerConfigurationType_ConfigurationFile_Read = 15791; /// - public const uint ServerConfigurationType_CancelChanges = 25698; + public const uint ServerConfigurationType_ConfigurationFile_Write = 15805; /// - public const uint ServerConfigurationType_CreateSigningRequest = 12731; + public const uint ServerConfigurationType_ConfigurationFile_GetPosition = 15807; /// - public const uint ServerConfigurationType_GetRejectedList = 12775; + public const uint ServerConfigurationType_ConfigurationFile_SetPosition = 15810; /// - public const uint ServerConfigurationType_ResetToServerDefaults = 25699; + public const uint ServerConfigurationType_ConfigurationFile_ConfirmUpdate = 15863; + + /// + public const uint ServerConfigurationType_ConfigurationFile_CloseAndUpdate = 15849; + + /// + public const uint ServerConfiguration_UpdateCertificate = 13737; + + /// + public const uint ServerConfiguration_ApplyChanges = 12740; + + /// + public const uint ServerConfiguration_CancelChanges = 25708; + + /// + public const uint ServerConfiguration_CreateSigningRequest = 12737; + + /// + public const uint ServerConfiguration_GetRejectedList = 12777; + + /// + public const uint ServerConfiguration_ResetToServerDefaults = 25709; /// public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 12647; @@ -3033,22 +3165,28 @@ public static partial class Methods public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = 23413; /// - public const uint ServerConfiguration_UpdateCertificate = 13737; + public const uint ServerConfiguration_ConfigurationFile_Open = 16013; /// - public const uint ServerConfiguration_ApplyChanges = 12740; + public const uint ServerConfiguration_ConfigurationFile_Close = 16060; /// - public const uint ServerConfiguration_CancelChanges = 25708; + public const uint ServerConfiguration_ConfigurationFile_Read = 16074; /// - public const uint ServerConfiguration_CreateSigningRequest = 12737; + public const uint ServerConfiguration_ConfigurationFile_Write = 16101; /// - public const uint ServerConfiguration_GetRejectedList = 12777; + public const uint ServerConfiguration_ConfigurationFile_GetPosition = 16103; /// - public const uint ServerConfiguration_ResetToServerDefaults = 25709; + public const uint ServerConfiguration_ConfigurationFile_SetPosition = 16124; + + /// + public const uint ServerConfiguration_ConfigurationFile_ConfirmUpdate = 16320; + + /// + public const uint ServerConfiguration_ConfigurationFile_CloseAndUpdate = 16317; /// public const uint KeyCredentialConfigurationFolderType_CreateCredential = 17522; @@ -3464,6 +3602,18 @@ public static partial class Methods /// public const uint ProvisionableDeviceType_SetRegistrarEndpoints = 26875; + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate = 28005; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges = 28008; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest = 28010; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList = 28013; + /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open = 26889; @@ -3681,16 +3831,28 @@ public static partial class Methods public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = 27940; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate = 28005; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open = 16332; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges = 28008; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close = 16335; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest = 28010; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read = 16337; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList = 28013; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write = 16340; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition = 16342; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition = 16345; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate = 16523; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate = 16368; /// public const uint ProvisionableDevice_RequestTickets = 29880; @@ -3700,6 +3862,12 @@ public static partial class Methods /// public const uint PriorityMappingTableType_DeletePriorityMappingEntry = 25231; + + /// + public const uint LogObjectType_GetRecords = 19353; + + /// + public const uint ServerLog_GetRecords = 19373; } #endregion @@ -4204,6 +4372,15 @@ public static partial class Objects /// public const uint ServerConfigurationType_TransactionDiagnostics = 32299; + /// + public const uint ServerConfigurationType_ConfigurationFile = 15564; + + /// + public const uint ApplicationConfigurationType_KeyCredentials = 19423; + + /// + public const uint ApplicationConfigurationType_AuthorizationServices = 19427; + /// public const uint ServerConfiguration = 12637; @@ -4231,6 +4408,9 @@ public static partial class Objects /// public const uint ServerConfiguration_TransactionDiagnostics = 32336; + /// + public const uint ServerConfiguration_ConfigurationFile = 15892; + /// public const uint KeyCredentialConfigurationFolderType_ServiceName_Placeholder = 17511; @@ -4762,6 +4942,12 @@ public static partial class Objects /// public const uint LldpPortInformationType_RemoteSystemsData_LldpRemoteSystem_Placeholder = 19017; + /// + public const uint ServerLog = 19372; + + /// + public const uint Logs = 19378; + /// public const uint Union_Encoding_DefaultBinary = 12766; @@ -4825,9 +5011,42 @@ public static partial class Objects /// public const uint TrustListDataType_Encoding_DefaultBinary = 12680; + /// + public const uint BaseConfigurationDataType_Encoding_DefaultBinary = 16538; + + /// + public const uint BaseConfigurationRecordDataType_Encoding_DefaultBinary = 16539; + + /// + public const uint CertificateGroupDataType_Encoding_DefaultBinary = 16540; + + /// + public const uint ConfigurationUpdateTargetType_Encoding_DefaultBinary = 16541; + /// public const uint TransactionErrorType_Encoding_DefaultBinary = 32382; + /// + public const uint ApplicationConfigurationDataType_Encoding_DefaultBinary = 16542; + + /// + public const uint ApplicationIdentityDataType_Encoding_DefaultBinary = 16543; + + /// + public const uint EndpointDataType_Encoding_DefaultBinary = 16544; + + /// + public const uint ServerEndpointDataType_Encoding_DefaultBinary = 16545; + + /// + public const uint SecuritySettingsDataType_Encoding_DefaultBinary = 16546; + + /// + public const uint UserTokenSettingsDataType_Encoding_DefaultBinary = 16547; + + /// + public const uint AuthorizationServiceConfigurationDataType_Encoding_DefaultBinary = 19752; + /// public const uint DecimalDataType_Encoding_DefaultBinary = 17863; @@ -5071,6 +5290,21 @@ public static partial class Objects /// public const uint ReferenceListEntryDataType_Encoding_DefaultBinary = 32662; + /// + public const uint LogRecord_Encoding_DefaultBinary = 19379; + + /// + public const uint LogRecordsDataType_Encoding_DefaultBinary = 19753; + + /// + public const uint SpanContextDataType_Encoding_DefaultBinary = 19754; + + /// + public const uint TraceContextDataType_Encoding_DefaultBinary = 19755; + + /// + public const uint NameValuePair_Encoding_DefaultBinary = 19756; + /// public const uint RolePermissionType_Encoding_DefaultBinary = 128; @@ -5836,9 +6070,42 @@ public static partial class Objects /// public const uint TrustListDataType_Encoding_DefaultXml = 12676; + /// + public const uint BaseConfigurationDataType_Encoding_DefaultXml = 16587; + + /// + public const uint BaseConfigurationRecordDataType_Encoding_DefaultXml = 16588; + + /// + public const uint CertificateGroupDataType_Encoding_DefaultXml = 16589; + + /// + public const uint ConfigurationUpdateTargetType_Encoding_DefaultXml = 16590; + /// public const uint TransactionErrorType_Encoding_DefaultXml = 32386; + /// + public const uint ApplicationConfigurationDataType_Encoding_DefaultXml = 16591; + + /// + public const uint ApplicationIdentityDataType_Encoding_DefaultXml = 16592; + + /// + public const uint EndpointDataType_Encoding_DefaultXml = 16593; + + /// + public const uint ServerEndpointDataType_Encoding_DefaultXml = 16594; + + /// + public const uint SecuritySettingsDataType_Encoding_DefaultXml = 16595; + + /// + public const uint UserTokenSettingsDataType_Encoding_DefaultXml = 16596; + + /// + public const uint AuthorizationServiceConfigurationDataType_Encoding_DefaultXml = 19772; + /// public const uint DecimalDataType_Encoding_DefaultXml = 17862; @@ -6082,6 +6349,21 @@ public static partial class Objects /// public const uint ReferenceListEntryDataType_Encoding_DefaultXml = 32670; + /// + public const uint LogRecord_Encoding_DefaultXml = 19383; + + /// + public const uint LogRecordsDataType_Encoding_DefaultXml = 19773; + + /// + public const uint SpanContextDataType_Encoding_DefaultXml = 19774; + + /// + public const uint TraceContextDataType_Encoding_DefaultXml = 19775; + + /// + public const uint NameValuePair_Encoding_DefaultXml = 19776; + /// public const uint RolePermissionType_Encoding_DefaultXml = 16126; @@ -6847,9 +7129,42 @@ public static partial class Objects /// public const uint TrustListDataType_Encoding_DefaultJson = 15044; + /// + public const uint BaseConfigurationDataType_Encoding_DefaultJson = 16632; + + /// + public const uint BaseConfigurationRecordDataType_Encoding_DefaultJson = 16633; + + /// + public const uint CertificateGroupDataType_Encoding_DefaultJson = 16634; + + /// + public const uint ConfigurationUpdateTargetType_Encoding_DefaultJson = 16635; + /// public const uint TransactionErrorType_Encoding_DefaultJson = 32390; + /// + public const uint ApplicationConfigurationDataType_Encoding_DefaultJson = 16636; + + /// + public const uint ApplicationIdentityDataType_Encoding_DefaultJson = 16637; + + /// + public const uint EndpointDataType_Encoding_DefaultJson = 16642; + + /// + public const uint ServerEndpointDataType_Encoding_DefaultJson = 16643; + + /// + public const uint SecuritySettingsDataType_Encoding_DefaultJson = 16644; + + /// + public const uint UserTokenSettingsDataType_Encoding_DefaultJson = 16645; + + /// + public const uint AuthorizationServiceConfigurationDataType_Encoding_DefaultJson = 19802; + /// public const uint DecimalDataType_Encoding_DefaultJson = 15045; @@ -7093,6 +7408,21 @@ public static partial class Objects /// public const uint ReferenceListEntryDataType_Encoding_DefaultJson = 32678; + /// + public const uint LogRecord_Encoding_DefaultJson = 19387; + + /// + public const uint LogRecordsDataType_Encoding_DefaultJson = 19803; + + /// + public const uint SpanContextDataType_Encoding_DefaultJson = 19804; + + /// + public const uint TraceContextDataType_Encoding_DefaultJson = 19805; + + /// + public const uint NameValuePair_Encoding_DefaultJson = 19806; + /// public const uint RolePermissionType_Encoding_DefaultJson = 15062; @@ -8277,6 +8607,18 @@ public static partial class ObjectTypes /// public const uint HttpsCertificateType = 12558; + /// + public const uint UserCertificateType = 19323; + + /// + public const uint TlsCertificateType = 19324; + + /// + public const uint TlsServerCertificateType = 19325; + + /// + public const uint TlsClientCertificateType = 19326; + /// public const uint UserCredentialCertificateType = 15181; @@ -8307,6 +8649,12 @@ public static partial class ObjectTypes /// public const uint EccCurve448ApplicationCertificateType = 23543; + /// + public const uint ConfigurationFileType = 15437; + + /// + public const uint ConfigurationUpdatedAuditEventType = 15541; + /// public const uint TrustListUpdateRequestedAuditEventType = 32260; @@ -8319,9 +8667,15 @@ public static partial class ObjectTypes /// public const uint ApplicationConfigurationFolderType = 16662; + /// + public const uint ApplicationConfigurationFileType = 15550; + /// public const uint ServerConfigurationType = 12581; + /// + public const uint ApplicationConfigurationType = 25731; + /// public const uint CertificateUpdateRequestedAuditEventType = 32306; @@ -8538,9 +8892,6 @@ public static partial class ObjectTypes /// public const uint UserManagementType = 24264; - /// - public const uint ApplicationConfigurationType = 25731; - /// public const uint ProvisionableDeviceType = 26871; @@ -8609,6 +8960,18 @@ public static partial class ObjectTypes /// public const uint LldpRemoteSystemType = 19033; + + /// + public const uint LogObjectType = 19352; + + /// + public const uint BaseLogEventType = 19362; + + /// + public const uint LogOverflowEventType = 19369; + + /// + public const uint LogEntryConditionClassType = 19370; } #endregion @@ -13361,7 +13724,7 @@ public static partial class Variables public const uint CertificateGroupType_CertificateTypes = 13631; /// - public const uint CertificateGroupType_GetRejectedList_OutputArguments = 23527; + public const uint CertificateGroupType_Purpose = 19398; /// public const uint CertificateGroupType_CertificateExpired_EventId = 19451; @@ -13687,6 +14050,9 @@ public static partial class Variables /// public const uint CertificateGroupType_TrustListOutOfDate_UpdateFrequency = 20289; + /// + public const uint CertificateGroupType_GetRejectedList_OutputArguments = 23527; + /// public const uint CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size = 13816; @@ -13750,9 +14116,6 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes = 13847; - /// - public const uint CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23530; - /// public const uint CertificateGroupFolderType_DefaultApplicationGroup_CertificateExpired_EventId = 20292; @@ -14077,6 +14440,9 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 20587; + /// + public const uint CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23530; + /// public const uint CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size = 13850; @@ -14140,9 +14506,6 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes = 13881; - /// - public const uint CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23532; - /// public const uint CertificateGroupFolderType_DefaultHttpsGroup_CertificateExpired_EventId = 20590; @@ -14467,6 +14830,9 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 20883; + /// + public const uint CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23532; + /// public const uint CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size = 13884; @@ -14530,9 +14896,6 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes = 13915; - /// - public const uint CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23534; - /// public const uint CertificateGroupFolderType_DefaultUserTokenGroup_CertificateExpired_EventId = 20886; @@ -14857,6 +15220,9 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 21382; + /// + public const uint CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23534; + /// public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size = 13918; @@ -14920,9 +15286,6 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes = 13949; - /// - public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments = 23536; - /// public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateExpired_EventId = 21385; @@ -15247,6 +15610,39 @@ public static partial class Variables /// public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_UpdateFrequency = 21678; + /// + public const uint CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments = 23536; + + /// + public const uint ConfigurationFileType_LastUpdateTime = 15438; + + /// + public const uint ConfigurationFileType_CurrentVersion = 15439; + + /// + public const uint ConfigurationFileType_ActivityTimeout = 15503; + + /// + public const uint ConfigurationFileType_SupportedDataType = 15504; + + /// + public const uint ConfigurationFileType_ConfirmUpdate_InputArguments = 15511; + + /// + public const uint ConfigurationFileType_CloseAndUpdate_InputArguments = 15506; + + /// + public const uint ConfigurationFileType_CloseAndUpdate_OutputArguments = 15507; + + /// + public const uint ConfigurationUpdateType_EnumValues = 15540; + + /// + public const uint ConfigurationUpdatedAuditEventType_OldVersion = 15542; + + /// + public const uint ConfigurationUpdatedAuditEventType_NewVersion = 15543; + /// public const uint TrustListUpdatedAuditEventType_TrustListId = 32281; @@ -15268,6 +15664,57 @@ public static partial class Variables /// public const uint TransactionDiagnosticsType_Errors = 32292; + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri = 18525; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri = 18526; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType = 18527; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities = 18528; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = 18529; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize = 18530; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled = 18531; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = 18534; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = 18535; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments = 19333; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments = 19334; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_DeleteCertificate_InputArguments = 19336; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments = 18537; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments = 18538; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = 18542; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = 18543; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = 18545; + /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 16710; @@ -15331,9 +15778,6 @@ public static partial class Variables /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 16751; - /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 16753; - /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 16755; @@ -15658,6 +16102,9 @@ public static partial class Variables /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 17124; + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 16753; + /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 17127; @@ -15721,9 +16168,6 @@ public static partial class Variables /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 17163; - /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 17165; - /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 17167; @@ -16048,6 +16492,9 @@ public static partial class Variables /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 18014; + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 17165; + /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 18017; @@ -16111,9 +16558,6 @@ public static partial class Variables /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 18056; - /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 18058; - /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 18060; @@ -16439,68 +16883,206 @@ public static partial class Variables public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 18524; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri = 18525; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 18058; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri = 18526; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = 18548; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType = 18527; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = 18549; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities = 18528; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result = 18550; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = 18529; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = 18551; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize = 18530; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = 18552; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled = 18531; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = 18553; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = 18534; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Size = 18555; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = 18535; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Writable = 18556; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments = 18537; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserWritable = 18557; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments = 18538; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_OpenCount = 18558; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = 18542; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments = 18563; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = 18543; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments = 18564; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = 18545; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments = 18566; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = 18548; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments = 18568; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = 18549; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments = 18569; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result = 18550; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments = 18571; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = 18551; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments = 18573; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = 18552; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments = 18574; /// - public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = 18553; + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments = 18576; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime = 18577; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion = 18578; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout = 18579; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType = 18580; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments = 18585; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments = 18582; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments = 18583; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks = 18587; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts = 18588; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints = 19406; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups = 19407; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris = 18589; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes = 18590; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes = 18591; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes = 19408; /// public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_Enabled = 18592; + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments = 19411; + + /// + public const uint ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments = 19412; + + /// + public const uint ApplicationConfigurationFileType_AvailableNetworks = 15551; + + /// + public const uint ApplicationConfigurationFileType_AvailablePorts = 15552; + + /// + public const uint ApplicationConfigurationFileType_MaxEndpoints = 19414; + + /// + public const uint ApplicationConfigurationFileType_MaxCertificateGroups = 19415; + + /// + public const uint ApplicationConfigurationFileType_SecurityPolicyUris = 15553; + + /// + public const uint ApplicationConfigurationFileType_UserTokenTypes = 15554; + + /// + public const uint ApplicationConfigurationFileType_CertificateTypes = 15555; + + /// + public const uint ApplicationConfigurationFileType_CertificateGroupPurposes = 19416; + + /// + public const uint ServerConfigurationType_ApplicationUri = 25696; + + /// + public const uint ServerConfigurationType_ProductUri = 25724; + + /// + public const uint ServerConfigurationType_ApplicationType = 25697; + + /// + public const uint ServerConfigurationType_ApplicationNames = 18660; + + /// + public const uint ServerConfigurationType_ServerCapabilities = 12708; + + /// + public const uint ServerConfigurationType_SupportedPrivateKeyFormats = 12583; + + /// + public const uint ServerConfigurationType_MaxTrustListSize = 12584; + + /// + public const uint ServerConfigurationType_MulticastDnsEnabled = 12585; + + /// + public const uint ServerConfigurationType_HasSecureElement = 23593; + + /// + public const uint ServerConfigurationType_SupportsTransactions = 18661; + + /// + public const uint ServerConfigurationType_InApplicationSetup = 19308; + + /// + public const uint ServerConfigurationType_UpdateCertificate_InputArguments = 12617; + + /// + public const uint ServerConfigurationType_UpdateCertificate_OutputArguments = 12618; + + /// + public const uint ServerConfigurationType_CreateSelfSignedCertificate_InputArguments = 19338; + + /// + public const uint ServerConfigurationType_CreateSelfSignedCertificate_OutputArguments = 19339; + + /// + public const uint ServerConfigurationType_DeleteCertificate_InputArguments = 19341; + + /// + public const uint ServerConfigurationType_GetCertificates_InputArguments = 32297; + + /// + public const uint ServerConfigurationType_GetCertificates_OutputArguments = 32298; + + /// + public const uint ServerConfigurationType_CreateSigningRequest_InputArguments = 12732; + + /// + public const uint ServerConfigurationType_CreateSigningRequest_OutputArguments = 12733; + + /// + public const uint ServerConfigurationType_GetRejectedList_OutputArguments = 12776; + /// public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 13953; @@ -16564,9 +17146,6 @@ public static partial class Variables /// public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 13984; - /// - public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23545; - /// public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 21681; @@ -16891,6 +17470,9 @@ public static partial class Variables /// public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 21974; + /// + public const uint ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23545; + /// public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 13987; @@ -16954,9 +17536,6 @@ public static partial class Variables /// public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 14018; - /// - public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23547; - /// public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 21977; @@ -17281,6 +17860,9 @@ public static partial class Variables /// public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 22270; + /// + public const uint ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23547; + /// public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 14021; @@ -17344,9 +17926,6 @@ public static partial class Variables /// public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 14052; - /// - public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23549; - /// public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 22273; @@ -17672,76 +18251,127 @@ public static partial class Variables public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 22566; /// - public const uint ServerConfigurationType_ApplicationUri = 25696; + public const uint ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23549; /// - public const uint ServerConfigurationType_ProductUri = 25724; + public const uint ServerConfigurationType_TransactionDiagnostics_StartTime = 32300; /// - public const uint ServerConfigurationType_ApplicationType = 25697; + public const uint ServerConfigurationType_TransactionDiagnostics_EndTime = 32301; /// - public const uint ServerConfigurationType_ApplicationNames = 18660; + public const uint ServerConfigurationType_TransactionDiagnostics_Result = 32302; /// - public const uint ServerConfigurationType_ServerCapabilities = 12708; + public const uint ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists = 32303; /// - public const uint ServerConfigurationType_SupportedPrivateKeyFormats = 12583; + public const uint ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups = 32304; /// - public const uint ServerConfigurationType_MaxTrustListSize = 12584; + public const uint ServerConfigurationType_TransactionDiagnostics_Errors = 32305; /// - public const uint ServerConfigurationType_MulticastDnsEnabled = 12585; + public const uint ServerConfigurationType_ConfigurationFile_Size = 15565; /// - public const uint ServerConfigurationType_HasSecureElement = 23593; + public const uint ServerConfigurationType_ConfigurationFile_Writable = 15566; /// - public const uint ServerConfigurationType_SupportsTransactions = 18661; + public const uint ServerConfigurationType_ConfigurationFile_UserWritable = 15567; /// - public const uint ServerConfigurationType_InApplicationSetup = 19308; + public const uint ServerConfigurationType_ConfigurationFile_OpenCount = 15568; /// - public const uint ServerConfigurationType_UpdateCertificate_InputArguments = 12617; + public const uint ServerConfigurationType_ConfigurationFile_Open_InputArguments = 15573; /// - public const uint ServerConfigurationType_UpdateCertificate_OutputArguments = 12618; + public const uint ServerConfigurationType_ConfigurationFile_Open_OutputArguments = 15574; /// - public const uint ServerConfigurationType_GetCertificates_InputArguments = 32297; + public const uint ServerConfigurationType_ConfigurationFile_Close_InputArguments = 15790; /// - public const uint ServerConfigurationType_GetCertificates_OutputArguments = 32298; + public const uint ServerConfigurationType_ConfigurationFile_Read_InputArguments = 15792; /// - public const uint ServerConfigurationType_CreateSigningRequest_InputArguments = 12732; + public const uint ServerConfigurationType_ConfigurationFile_Read_OutputArguments = 15804; /// - public const uint ServerConfigurationType_CreateSigningRequest_OutputArguments = 12733; + public const uint ServerConfigurationType_ConfigurationFile_Write_InputArguments = 15806; /// - public const uint ServerConfigurationType_GetRejectedList_OutputArguments = 12776; + public const uint ServerConfigurationType_ConfigurationFile_GetPosition_InputArguments = 15808; /// - public const uint ServerConfigurationType_TransactionDiagnostics_StartTime = 32300; + public const uint ServerConfigurationType_ConfigurationFile_GetPosition_OutputArguments = 15809; /// - public const uint ServerConfigurationType_TransactionDiagnostics_EndTime = 32301; + public const uint ServerConfigurationType_ConfigurationFile_SetPosition_InputArguments = 15811; /// - public const uint ServerConfigurationType_TransactionDiagnostics_Result = 32302; + public const uint ServerConfigurationType_ConfigurationFile_LastUpdateTime = 15812; /// - public const uint ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists = 32303; + public const uint ServerConfigurationType_ConfigurationFile_CurrentVersion = 15813; /// - public const uint ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups = 32304; + public const uint ServerConfigurationType_ConfigurationFile_ActivityTimeout = 15814; /// - public const uint ServerConfigurationType_TransactionDiagnostics_Errors = 32305; + public const uint ServerConfigurationType_ConfigurationFile_SupportedDataType = 15848; + + /// + public const uint ServerConfigurationType_ConfigurationFile_ConfirmUpdate_InputArguments = 15864; + + /// + public const uint ServerConfigurationType_ConfigurationFile_CloseAndUpdate_InputArguments = 15850; + + /// + public const uint ServerConfigurationType_ConfigurationFile_CloseAndUpdate_OutputArguments = 15851; + + /// + public const uint ServerConfigurationType_ConfigurationFile_AvailableNetworks = 16646; + + /// + public const uint ServerConfigurationType_ConfigurationFile_AvailablePorts = 16647; + + /// + public const uint ServerConfigurationType_ConfigurationFile_MaxEndpoints = 19420; + + /// + public const uint ServerConfigurationType_ConfigurationFile_MaxCertificateGroups = 19421; + + /// + public const uint ServerConfigurationType_ConfigurationFile_SecurityPolicyUris = 16648; + + /// + public const uint ServerConfigurationType_ConfigurationFile_UserTokenTypes = 16649; + + /// + public const uint ServerConfigurationType_ConfigurationFile_CertificateTypes = 16650; + + /// + public const uint ServerConfigurationType_ConfigurationFile_CertificateGroupPurposes = 19422; + + /// + public const uint ApplicationConfigurationType_ApplicationUri = 26850; + + /// + public const uint ApplicationConfigurationType_ProductUri = 26851; + + /// + public const uint ApplicationConfigurationType_ApplicationType = 26852; + + /// + public const uint ApplicationConfigurationType_Enabled = 26849; + + /// + public const uint ApplicationConfigurationType_KeyCredentials_CreateCredential_InputArguments = 19425; + + /// + public const uint ApplicationConfigurationType_KeyCredentials_CreateCredential_OutputArguments = 19426; /// public const uint CertificateUpdatedAuditEventType_CertificateGroup = 13735; @@ -17749,6 +18379,60 @@ public static partial class Variables /// public const uint CertificateUpdatedAuditEventType_CertificateType = 13736; + /// + public const uint ServerConfiguration_ApplicationUri = 25706; + + /// + public const uint ServerConfiguration_ProductUri = 25725; + + /// + public const uint ServerConfiguration_ApplicationType = 25707; + + /// + public const uint ServerConfiguration_ServerCapabilities = 12710; + + /// + public const uint ServerConfiguration_SupportedPrivateKeyFormats = 12639; + + /// + public const uint ServerConfiguration_MaxTrustListSize = 12640; + + /// + public const uint ServerConfiguration_MulticastDnsEnabled = 12641; + + /// + public const uint ServerConfiguration_HasSecureElement = 23597; + + /// + public const uint ServerConfiguration_UpdateCertificate_InputArguments = 13738; + + /// + public const uint ServerConfiguration_UpdateCertificate_OutputArguments = 13739; + + /// + public const uint ServerConfiguration_CreateSelfSignedCertificate_InputArguments = 19343; + + /// + public const uint ServerConfiguration_CreateSelfSignedCertificate_OutputArguments = 19344; + + /// + public const uint ServerConfiguration_DeleteCertificate_InputArguments = 19346; + + /// + public const uint ServerConfiguration_GetCertificates_InputArguments = 32334; + + /// + public const uint ServerConfiguration_GetCertificates_OutputArguments = 32335; + + /// + public const uint ServerConfiguration_CreateSigningRequest_InputArguments = 12738; + + /// + public const uint ServerConfiguration_CreateSigningRequest_OutputArguments = 12739; + + /// + public const uint ServerConfiguration_GetRejectedList_OutputArguments = 12778; + /// public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 12643; @@ -17812,9 +18496,6 @@ public static partial class Variables /// public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 14161; - /// - public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23551; - /// public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 22569; @@ -18139,6 +18820,9 @@ public static partial class Variables /// public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 22862; + /// + public const uint ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 23551; + /// public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 14090; @@ -18202,9 +18886,6 @@ public static partial class Variables /// public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 14121; - /// - public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23553; - /// public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 22865; @@ -18529,6 +19210,9 @@ public static partial class Variables /// public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 23158; + /// + public const uint ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 23553; + /// public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 14124; @@ -18592,9 +19276,6 @@ public static partial class Variables /// public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 14155; - /// - public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23555; - /// public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 23161; @@ -18920,67 +19601,109 @@ public static partial class Variables public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 23454; /// - public const uint ServerConfiguration_ApplicationUri = 25706; + public const uint ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 23555; /// - public const uint ServerConfiguration_ProductUri = 25725; + public const uint ServerConfiguration_TransactionDiagnostics_StartTime = 32337; /// - public const uint ServerConfiguration_ApplicationType = 25707; + public const uint ServerConfiguration_TransactionDiagnostics_EndTime = 32338; /// - public const uint ServerConfiguration_ServerCapabilities = 12710; + public const uint ServerConfiguration_TransactionDiagnostics_Result = 32339; /// - public const uint ServerConfiguration_SupportedPrivateKeyFormats = 12639; + public const uint ServerConfiguration_TransactionDiagnostics_AffectedTrustLists = 32340; /// - public const uint ServerConfiguration_MaxTrustListSize = 12640; + public const uint ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups = 32341; /// - public const uint ServerConfiguration_MulticastDnsEnabled = 12641; + public const uint ServerConfiguration_TransactionDiagnostics_Errors = 32342; /// - public const uint ServerConfiguration_HasSecureElement = 23597; + public const uint ServerConfiguration_ConfigurationFile_Size = 15893; /// - public const uint ServerConfiguration_UpdateCertificate_InputArguments = 13738; + public const uint ServerConfiguration_ConfigurationFile_Writable = 15894; /// - public const uint ServerConfiguration_UpdateCertificate_OutputArguments = 13739; + public const uint ServerConfiguration_ConfigurationFile_UserWritable = 15937; /// - public const uint ServerConfiguration_GetCertificates_InputArguments = 32334; + public const uint ServerConfiguration_ConfigurationFile_OpenCount = 15938; /// - public const uint ServerConfiguration_GetCertificates_OutputArguments = 32335; + public const uint ServerConfiguration_ConfigurationFile_Open_InputArguments = 16020; /// - public const uint ServerConfiguration_CreateSigningRequest_InputArguments = 12738; + public const uint ServerConfiguration_ConfigurationFile_Open_OutputArguments = 16059; /// - public const uint ServerConfiguration_CreateSigningRequest_OutputArguments = 12739; + public const uint ServerConfiguration_ConfigurationFile_Close_InputArguments = 16061; /// - public const uint ServerConfiguration_GetRejectedList_OutputArguments = 12778; + public const uint ServerConfiguration_ConfigurationFile_Read_InputArguments = 16075; /// - public const uint ServerConfiguration_TransactionDiagnostics_StartTime = 32337; + public const uint ServerConfiguration_ConfigurationFile_Read_OutputArguments = 16076; /// - public const uint ServerConfiguration_TransactionDiagnostics_EndTime = 32338; + public const uint ServerConfiguration_ConfigurationFile_Write_InputArguments = 16102; /// - public const uint ServerConfiguration_TransactionDiagnostics_Result = 32339; + public const uint ServerConfiguration_ConfigurationFile_GetPosition_InputArguments = 16122; /// - public const uint ServerConfiguration_TransactionDiagnostics_AffectedTrustLists = 32340; + public const uint ServerConfiguration_ConfigurationFile_GetPosition_OutputArguments = 16123; /// - public const uint ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups = 32341; + public const uint ServerConfiguration_ConfigurationFile_SetPosition_InputArguments = 16160; /// - public const uint ServerConfiguration_TransactionDiagnostics_Errors = 32342; + public const uint ServerConfiguration_ConfigurationFile_LastUpdateTime = 16283; + + /// + public const uint ServerConfiguration_ConfigurationFile_CurrentVersion = 16306; + + /// + public const uint ServerConfiguration_ConfigurationFile_ActivityTimeout = 16315; + + /// + public const uint ServerConfiguration_ConfigurationFile_SupportedDataType = 16316; + + /// + public const uint ServerConfiguration_ConfigurationFile_ConfirmUpdate_InputArguments = 16321; + + /// + public const uint ServerConfiguration_ConfigurationFile_CloseAndUpdate_InputArguments = 16318; + + /// + public const uint ServerConfiguration_ConfigurationFile_CloseAndUpdate_OutputArguments = 16319; + + /// + public const uint ServerConfiguration_ConfigurationFile_AvailableNetworks = 16652; + + /// + public const uint ServerConfiguration_ConfigurationFile_AvailablePorts = 16653; + + /// + public const uint ServerConfiguration_ConfigurationFile_MaxEndpoints = 19442; + + /// + public const uint ServerConfiguration_ConfigurationFile_MaxCertificateGroups = 19443; + + /// + public const uint ServerConfiguration_ConfigurationFile_SecurityPolicyUris = 16654; + + /// + public const uint ServerConfiguration_ConfigurationFile_UserTokenTypes = 16655; + + /// + public const uint ServerConfiguration_ConfigurationFile_CertificateTypes = 16656; + + /// + public const uint ServerConfiguration_ConfigurationFile_CertificateGroupPurposes = 19444; /// public const uint KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ResourceUri = 17512; @@ -23003,25 +23726,64 @@ public static partial class Variables public const uint MultiStateDictionaryEntryDiscreteType_ValueAsDictionaryEntries = 19090; /// - public const uint ApplicationConfigurationType_ApplicationUri = 26850; + public const uint ProvisionableDeviceType_IsSingleton = 26872; /// - public const uint ApplicationConfigurationType_ProductUri = 26851; + public const uint ProvisionableDeviceType_RequestTickets_OutputArguments = 26874; /// - public const uint ApplicationConfigurationType_ApplicationType = 26852; + public const uint ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments = 26876; /// - public const uint ApplicationConfigurationType_Enabled = 26849; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri = 27997; /// - public const uint ProvisionableDeviceType_IsSingleton = 26872; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri = 27998; /// - public const uint ProvisionableDeviceType_RequestTickets_OutputArguments = 26874; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType = 27999; /// - public const uint ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments = 26876; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities = 28000; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = 28001; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize = 28002; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled = 28003; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = 28006; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = 28007; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments = 19348; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments = 19349; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_DeleteCertificate_InputArguments = 19351; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments = 32360; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments = 32361; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = 28011; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = 28012; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = 28014; /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size = 26882; @@ -23086,9 +23848,6 @@ public static partial class Variables /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 26917; - /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 26920; - /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 26922; @@ -23413,6 +24172,9 @@ public static partial class Variables /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 27251; + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 26920; + /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 27254; @@ -23476,9 +24238,6 @@ public static partial class Variables /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 27289; - /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 27292; - /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 27294; @@ -23803,6 +24562,9 @@ public static partial class Variables /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 27623; + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 27292; + /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 27626; @@ -23866,9 +24628,6 @@ public static partial class Variables /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 27661; - /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 27664; - /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 27666; @@ -24194,68 +24953,119 @@ public static partial class Variables public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 27995; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri = 27997; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 27664; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri = 27998; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = 32363; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType = 27999; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = 32364; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities = 28000; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result = 32365; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = 28001; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = 32366; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize = 28002; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = 32367; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled = 28003; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = 32368; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = 28006; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Size = 16325; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = 28007; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Writable = 16326; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments = 32360; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserWritable = 16327; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments = 32361; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_OpenCount = 16328; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = 28011; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments = 16333; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = 28012; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments = 16334; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = 28014; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments = 16336; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = 32363; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments = 16338; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = 32364; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments = 16339; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result = 32365; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments = 16341; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = 32366; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments = 16343; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = 32367; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments = 16344; /// - public const uint ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = 32368; + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments = 16346; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime = 16347; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion = 16365; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout = 16366; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType = 16367; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments = 16536; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments = 16369; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments = 16370; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks = 16657; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts = 16658; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints = 19736; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups = 19737; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris = 16659; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes = 16660; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes = 16661; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes = 19738; /// public const uint ProvisionableDeviceType_ApplicationName_Placeholder_Enabled = 27996; + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments = 19741; + + /// + public const uint ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments = 19742; + /// public const uint ProvisionableDevice_IsSingleton = 29879; @@ -24625,6 +25435,51 @@ public static partial class Variables /// public const uint ReferenceDescriptionVariableType_ReferenceRefinement = 32658; + /// + public const uint LogObjectType_GetRecords_InputArguments = 19354; + + /// + public const uint LogObjectType_GetRecords_OutputArguments = 19355; + + /// + public const uint LogObjectType_MaxRecords = 19356; + + /// + public const uint LogObjectType_MaxStorageDuration = 19357; + + /// + public const uint LogObjectType_MinimumSeverity = 19744; + + /// + public const uint LogRecordMask_OptionSetValues = 19750; + + /// + public const uint BaseLogEventType_ConditionClassId = 19363; + + /// + public const uint BaseLogEventType_ConditionClassName = 19364; + + /// + public const uint BaseLogEventType_ErrorCode = 19365; + + /// + public const uint BaseLogEventType_ErrorCodeNode = 19366; + + /// + public const uint ServerLog_GetRecords_InputArguments = 19374; + + /// + public const uint ServerLog_GetRecords_OutputArguments = 19375; + + /// + public const uint ServerLog_MaxRecords = 19376; + + /// + public const uint ServerLog_MaxStorageDuration = 19377; + + /// + public const uint ServerLog_MinimumSeverity = 19751; + /// public const uint IdType_EnumStrings = 7591; @@ -24784,9 +25639,42 @@ public static partial class Variables /// public const uint OpcUa_BinarySchema_TrustListDataType = 12681; + /// + public const uint OpcUa_BinarySchema_BaseConfigurationDataType = 16548; + + /// + public const uint OpcUa_BinarySchema_BaseConfigurationRecordDataType = 16551; + + /// + public const uint OpcUa_BinarySchema_CertificateGroupDataType = 16554; + + /// + public const uint OpcUa_BinarySchema_ConfigurationUpdateTargetType = 16557; + /// public const uint OpcUa_BinarySchema_TransactionErrorType = 32383; + /// + public const uint OpcUa_BinarySchema_ApplicationConfigurationDataType = 16564; + + /// + public const uint OpcUa_BinarySchema_ApplicationIdentityDataType = 16567; + + /// + public const uint OpcUa_BinarySchema_EndpointDataType = 16570; + + /// + public const uint OpcUa_BinarySchema_ServerEndpointDataType = 16578; + + /// + public const uint OpcUa_BinarySchema_SecuritySettingsDataType = 16581; + + /// + public const uint OpcUa_BinarySchema_UserTokenSettingsDataType = 16584; + + /// + public const uint OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType = 19757; + /// public const uint OpcUa_BinarySchema_DataTypeSchemaHeader = 15741; @@ -25027,6 +25915,21 @@ public static partial class Variables /// public const uint OpcUa_BinarySchema_ReferenceListEntryDataType = 32666; + /// + public const uint OpcUa_BinarySchema_LogRecord = 19380; + + /// + public const uint OpcUa_BinarySchema_LogRecordsDataType = 19760; + + /// + public const uint OpcUa_BinarySchema_SpanContextDataType = 19763; + + /// + public const uint OpcUa_BinarySchema_TraceContextDataType = 19766; + + /// + public const uint OpcUa_BinarySchema_NameValuePair = 19769; + /// public const uint OpcUa_BinarySchema_RolePermissionType = 16131; @@ -25300,9 +26203,42 @@ public static partial class Variables /// public const uint OpcUa_XmlSchema_TrustListDataType = 12677; + /// + public const uint OpcUa_XmlSchema_BaseConfigurationDataType = 16597; + + /// + public const uint OpcUa_XmlSchema_BaseConfigurationRecordDataType = 16604; + + /// + public const uint OpcUa_XmlSchema_CertificateGroupDataType = 16607; + + /// + public const uint OpcUa_XmlSchema_ConfigurationUpdateTargetType = 16610; + /// public const uint OpcUa_XmlSchema_TransactionErrorType = 32387; + /// + public const uint OpcUa_XmlSchema_ApplicationConfigurationDataType = 16614; + + /// + public const uint OpcUa_XmlSchema_ApplicationIdentityDataType = 16617; + + /// + public const uint OpcUa_XmlSchema_EndpointDataType = 16620; + + /// + public const uint OpcUa_XmlSchema_ServerEndpointDataType = 16623; + + /// + public const uint OpcUa_XmlSchema_SecuritySettingsDataType = 16626; + + /// + public const uint OpcUa_XmlSchema_UserTokenSettingsDataType = 16629; + + /// + public const uint OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType = 19787; + /// public const uint OpcUa_XmlSchema_DataTypeSchemaHeader = 16027; @@ -25543,6 +26479,21 @@ public static partial class Variables /// public const uint OpcUa_XmlSchema_ReferenceListEntryDataType = 32674; + /// + public const uint OpcUa_XmlSchema_LogRecord = 19384; + + /// + public const uint OpcUa_XmlSchema_LogRecordsDataType = 19790; + + /// + public const uint OpcUa_XmlSchema_SpanContextDataType = 19793; + + /// + public const uint OpcUa_XmlSchema_TraceContextDataType = 19796; + + /// + public const uint OpcUa_XmlSchema_NameValuePair = 19799; + /// public const uint OpcUa_XmlSchema_RolePermissionType = 16127; @@ -26156,9 +27107,45 @@ public static partial class DataTypeIds /// public static readonly NodeId TrustListDataType = new NodeId(Opc.Ua.DataTypes.TrustListDataType); + /// + public static readonly NodeId BaseConfigurationDataType = new NodeId(Opc.Ua.DataTypes.BaseConfigurationDataType); + + /// + public static readonly NodeId BaseConfigurationRecordDataType = new NodeId(Opc.Ua.DataTypes.BaseConfigurationRecordDataType); + + /// + public static readonly NodeId CertificateGroupDataType = new NodeId(Opc.Ua.DataTypes.CertificateGroupDataType); + + /// + public static readonly NodeId ConfigurationUpdateTargetType = new NodeId(Opc.Ua.DataTypes.ConfigurationUpdateTargetType); + + /// + public static readonly NodeId ConfigurationUpdateType = new NodeId(Opc.Ua.DataTypes.ConfigurationUpdateType); + /// public static readonly NodeId TransactionErrorType = new NodeId(Opc.Ua.DataTypes.TransactionErrorType); + /// + public static readonly NodeId ApplicationConfigurationDataType = new NodeId(Opc.Ua.DataTypes.ApplicationConfigurationDataType); + + /// + public static readonly NodeId ApplicationIdentityDataType = new NodeId(Opc.Ua.DataTypes.ApplicationIdentityDataType); + + /// + public static readonly NodeId EndpointDataType = new NodeId(Opc.Ua.DataTypes.EndpointDataType); + + /// + public static readonly NodeId ServerEndpointDataType = new NodeId(Opc.Ua.DataTypes.ServerEndpointDataType); + + /// + public static readonly NodeId SecuritySettingsDataType = new NodeId(Opc.Ua.DataTypes.SecuritySettingsDataType); + + /// + public static readonly NodeId UserTokenSettingsDataType = new NodeId(Opc.Ua.DataTypes.UserTokenSettingsDataType); + + /// + public static readonly NodeId AuthorizationServiceConfigurationDataType = new NodeId(Opc.Ua.DataTypes.AuthorizationServiceConfigurationDataType); + /// public static readonly NodeId DecimalDataType = new NodeId(Opc.Ua.DataTypes.DecimalDataType); @@ -26525,6 +27512,24 @@ public static partial class DataTypeIds /// public static readonly NodeId ReferenceListEntryDataType = new NodeId(Opc.Ua.DataTypes.ReferenceListEntryDataType); + /// + public static readonly NodeId LogRecord = new NodeId(Opc.Ua.DataTypes.LogRecord); + + /// + public static readonly NodeId LogRecordsDataType = new NodeId(Opc.Ua.DataTypes.LogRecordsDataType); + + /// + public static readonly NodeId SpanContextDataType = new NodeId(Opc.Ua.DataTypes.SpanContextDataType); + + /// + public static readonly NodeId TraceContextDataType = new NodeId(Opc.Ua.DataTypes.TraceContextDataType); + + /// + public static readonly NodeId NameValuePair = new NodeId(Opc.Ua.DataTypes.NameValuePair); + + /// + public static readonly NodeId LogRecordMask = new NodeId(Opc.Ua.DataTypes.LogRecordMask); + /// public static readonly NodeId IdType = new NodeId(Opc.Ua.DataTypes.IdType); @@ -27922,9 +28927,6 @@ public static partial class MethodIds /// public static readonly NodeId CertificateGroupType_TrustList_RemoveCertificate = new NodeId(Opc.Ua.Methods.CertificateGroupType_TrustList_RemoveCertificate); - /// - public static readonly NodeId CertificateGroupType_GetRejectedList = new NodeId(Opc.Ua.Methods.CertificateGroupType_GetRejectedList); - /// public static readonly NodeId CertificateGroupType_CertificateExpired_Disable = new NodeId(Opc.Ua.Methods.CertificateGroupType_CertificateExpired_Disable); @@ -27967,6 +28969,9 @@ public static partial class MethodIds /// public static readonly NodeId CertificateGroupType_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.CertificateGroupType_TrustListOutOfDate_ShelvingState_OneShotShelve); + /// + public static readonly NodeId CertificateGroupType_GetRejectedList = new NodeId(Opc.Ua.Methods.CertificateGroupType_GetRejectedList); + /// public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open = new NodeId(Opc.Ua.Methods.CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open); @@ -28255,6 +29260,24 @@ public static partial class MethodIds /// public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_ShelvingState_OneShotShelve); + /// + public static readonly NodeId ConfigurationFileType_ConfirmUpdate = new NodeId(Opc.Ua.Methods.ConfigurationFileType_ConfirmUpdate); + + /// + public static readonly NodeId ConfigurationFileType_CloseAndUpdate = new NodeId(Opc.Ua.Methods.ConfigurationFileType_CloseAndUpdate); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList); + /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open); @@ -28472,16 +29495,55 @@ public static partial class MethodIds public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplyChanges); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate = new NodeId(Opc.Ua.Methods.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate); + + /// + public static readonly NodeId ServerConfigurationType_UpdateCertificate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_UpdateCertificate); + + /// + public static readonly NodeId ServerConfigurationType_CreateSelfSignedCertificate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CreateSelfSignedCertificate); + + /// + public static readonly NodeId ServerConfigurationType_DeleteCertificate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_DeleteCertificate); + + /// + public static readonly NodeId ServerConfigurationType_GetCertificates = new NodeId(Opc.Ua.Methods.ServerConfigurationType_GetCertificates); + + /// + public static readonly NodeId ServerConfigurationType_ApplyChanges = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ApplyChanges); + + /// + public static readonly NodeId ServerConfigurationType_CancelChanges = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CancelChanges); + + /// + public static readonly NodeId ServerConfigurationType_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CreateSigningRequest); + + /// + public static readonly NodeId ServerConfigurationType_GetRejectedList = new NodeId(Opc.Ua.Methods.ServerConfigurationType_GetRejectedList); + + /// + public static readonly NodeId ServerConfigurationType_ResetToServerDefaults = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ResetToServerDefaults); /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open); @@ -28700,25 +29762,46 @@ public static partial class MethodIds public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve); /// - public static readonly NodeId ServerConfigurationType_UpdateCertificate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_UpdateCertificate); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Open = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_Open); /// - public static readonly NodeId ServerConfigurationType_GetCertificates = new NodeId(Opc.Ua.Methods.ServerConfigurationType_GetCertificates); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Close = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_Close); /// - public static readonly NodeId ServerConfigurationType_ApplyChanges = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ApplyChanges); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Read = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_Read); /// - public static readonly NodeId ServerConfigurationType_CancelChanges = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CancelChanges); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Write = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_Write); /// - public static readonly NodeId ServerConfigurationType_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ServerConfigurationType_CreateSigningRequest); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_GetPosition = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_GetPosition); /// - public static readonly NodeId ServerConfigurationType_GetRejectedList = new NodeId(Opc.Ua.Methods.ServerConfigurationType_GetRejectedList); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_SetPosition = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_SetPosition); /// - public static readonly NodeId ServerConfigurationType_ResetToServerDefaults = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ResetToServerDefaults); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_ConfirmUpdate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_ConfirmUpdate); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CloseAndUpdate = new NodeId(Opc.Ua.Methods.ServerConfigurationType_ConfigurationFile_CloseAndUpdate); + + /// + public static readonly NodeId ServerConfiguration_UpdateCertificate = new NodeId(Opc.Ua.Methods.ServerConfiguration_UpdateCertificate); + + /// + public static readonly NodeId ServerConfiguration_ApplyChanges = new NodeId(Opc.Ua.Methods.ServerConfiguration_ApplyChanges); + + /// + public static readonly NodeId ServerConfiguration_CancelChanges = new NodeId(Opc.Ua.Methods.ServerConfiguration_CancelChanges); + + /// + public static readonly NodeId ServerConfiguration_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ServerConfiguration_CreateSigningRequest); + + /// + public static readonly NodeId ServerConfiguration_GetRejectedList = new NodeId(Opc.Ua.Methods.ServerConfiguration_GetRejectedList); + + /// + public static readonly NodeId ServerConfiguration_ResetToServerDefaults = new NodeId(Opc.Ua.Methods.ServerConfiguration_ResetToServerDefaults); /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open = new NodeId(Opc.Ua.Methods.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open); @@ -28937,22 +30020,28 @@ public static partial class MethodIds public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve); /// - public static readonly NodeId ServerConfiguration_UpdateCertificate = new NodeId(Opc.Ua.Methods.ServerConfiguration_UpdateCertificate); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Open = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_Open); /// - public static readonly NodeId ServerConfiguration_ApplyChanges = new NodeId(Opc.Ua.Methods.ServerConfiguration_ApplyChanges); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Close = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_Close); /// - public static readonly NodeId ServerConfiguration_CancelChanges = new NodeId(Opc.Ua.Methods.ServerConfiguration_CancelChanges); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Read = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_Read); /// - public static readonly NodeId ServerConfiguration_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ServerConfiguration_CreateSigningRequest); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Write = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_Write); /// - public static readonly NodeId ServerConfiguration_GetRejectedList = new NodeId(Opc.Ua.Methods.ServerConfiguration_GetRejectedList); + public static readonly NodeId ServerConfiguration_ConfigurationFile_GetPosition = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_GetPosition); /// - public static readonly NodeId ServerConfiguration_ResetToServerDefaults = new NodeId(Opc.Ua.Methods.ServerConfiguration_ResetToServerDefaults); + public static readonly NodeId ServerConfiguration_ConfigurationFile_SetPosition = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_SetPosition); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_ConfirmUpdate = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_ConfirmUpdate); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CloseAndUpdate = new NodeId(Opc.Ua.Methods.ServerConfiguration_ConfigurationFile_CloseAndUpdate); /// public static readonly NodeId KeyCredentialConfigurationFolderType_CreateCredential = new NodeId(Opc.Ua.Methods.KeyCredentialConfigurationFolderType_CreateCredential); @@ -29368,6 +30457,18 @@ public static partial class MethodIds /// public static readonly NodeId ProvisionableDeviceType_SetRegistrarEndpoints = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_SetRegistrarEndpoints); + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList); + /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Open); @@ -29585,16 +30686,28 @@ public static partial class MethodIds public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_ShelvingState_OneShotShelve); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ApplyChanges); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate = new NodeId(Opc.Ua.Methods.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate); /// public static readonly NodeId ProvisionableDevice_RequestTickets = new NodeId(Opc.Ua.Methods.ProvisionableDevice_RequestTickets); @@ -29604,6 +30717,12 @@ public static partial class MethodIds /// public static readonly NodeId PriorityMappingTableType_DeletePriorityMappingEntry = new NodeId(Opc.Ua.Methods.PriorityMappingTableType_DeletePriorityMappingEntry); + + /// + public static readonly NodeId LogObjectType_GetRecords = new NodeId(Opc.Ua.Methods.LogObjectType_GetRecords); + + /// + public static readonly NodeId ServerLog_GetRecords = new NodeId(Opc.Ua.Methods.ServerLog_GetRecords); } #endregion @@ -30108,6 +31227,15 @@ public static partial class ObjectIds /// public static readonly NodeId ServerConfigurationType_TransactionDiagnostics = new NodeId(Opc.Ua.Objects.ServerConfigurationType_TransactionDiagnostics); + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile = new NodeId(Opc.Ua.Objects.ServerConfigurationType_ConfigurationFile); + + /// + public static readonly NodeId ApplicationConfigurationType_KeyCredentials = new NodeId(Opc.Ua.Objects.ApplicationConfigurationType_KeyCredentials); + + /// + public static readonly NodeId ApplicationConfigurationType_AuthorizationServices = new NodeId(Opc.Ua.Objects.ApplicationConfigurationType_AuthorizationServices); + /// public static readonly NodeId ServerConfiguration = new NodeId(Opc.Ua.Objects.ServerConfiguration); @@ -30135,6 +31263,9 @@ public static partial class ObjectIds /// public static readonly NodeId ServerConfiguration_TransactionDiagnostics = new NodeId(Opc.Ua.Objects.ServerConfiguration_TransactionDiagnostics); + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile = new NodeId(Opc.Ua.Objects.ServerConfiguration_ConfigurationFile); + /// public static readonly NodeId KeyCredentialConfigurationFolderType_ServiceName_Placeholder = new NodeId(Opc.Ua.Objects.KeyCredentialConfigurationFolderType_ServiceName_Placeholder); @@ -30666,6 +31797,12 @@ public static partial class ObjectIds /// public static readonly NodeId LldpPortInformationType_RemoteSystemsData_LldpRemoteSystem_Placeholder = new NodeId(Opc.Ua.Objects.LldpPortInformationType_RemoteSystemsData_LldpRemoteSystem_Placeholder); + /// + public static readonly NodeId ServerLog = new NodeId(Opc.Ua.Objects.ServerLog); + + /// + public static readonly NodeId Logs = new NodeId(Opc.Ua.Objects.Logs); + /// public static readonly NodeId Union_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.Union_Encoding_DefaultBinary); @@ -30729,9 +31866,42 @@ public static partial class ObjectIds /// public static readonly NodeId TrustListDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.TrustListDataType_Encoding_DefaultBinary); + /// + public static readonly NodeId BaseConfigurationDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.BaseConfigurationDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId BaseConfigurationRecordDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.BaseConfigurationRecordDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId CertificateGroupDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.CertificateGroupDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId ConfigurationUpdateTargetType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.ConfigurationUpdateTargetType_Encoding_DefaultBinary); + /// public static readonly NodeId TransactionErrorType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.TransactionErrorType_Encoding_DefaultBinary); + /// + public static readonly NodeId ApplicationConfigurationDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.ApplicationConfigurationDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId ApplicationIdentityDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.ApplicationIdentityDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId EndpointDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.EndpointDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId ServerEndpointDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.ServerEndpointDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId SecuritySettingsDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.SecuritySettingsDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId UserTokenSettingsDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.UserTokenSettingsDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId AuthorizationServiceConfigurationDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.AuthorizationServiceConfigurationDataType_Encoding_DefaultBinary); + /// public static readonly NodeId DecimalDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.DecimalDataType_Encoding_DefaultBinary); @@ -30975,6 +32145,21 @@ public static partial class ObjectIds /// public static readonly NodeId ReferenceListEntryDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.ReferenceListEntryDataType_Encoding_DefaultBinary); + /// + public static readonly NodeId LogRecord_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.LogRecord_Encoding_DefaultBinary); + + /// + public static readonly NodeId LogRecordsDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.LogRecordsDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId SpanContextDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.SpanContextDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId TraceContextDataType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.TraceContextDataType_Encoding_DefaultBinary); + + /// + public static readonly NodeId NameValuePair_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.NameValuePair_Encoding_DefaultBinary); + /// public static readonly NodeId RolePermissionType_Encoding_DefaultBinary = new NodeId(Opc.Ua.Objects.RolePermissionType_Encoding_DefaultBinary); @@ -31740,9 +32925,42 @@ public static partial class ObjectIds /// public static readonly NodeId TrustListDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.TrustListDataType_Encoding_DefaultXml); + /// + public static readonly NodeId BaseConfigurationDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.BaseConfigurationDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId BaseConfigurationRecordDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.BaseConfigurationRecordDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId CertificateGroupDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.CertificateGroupDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId ConfigurationUpdateTargetType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.ConfigurationUpdateTargetType_Encoding_DefaultXml); + /// public static readonly NodeId TransactionErrorType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.TransactionErrorType_Encoding_DefaultXml); + /// + public static readonly NodeId ApplicationConfigurationDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.ApplicationConfigurationDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId ApplicationIdentityDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.ApplicationIdentityDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId EndpointDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.EndpointDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId ServerEndpointDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.ServerEndpointDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId SecuritySettingsDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.SecuritySettingsDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId UserTokenSettingsDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.UserTokenSettingsDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId AuthorizationServiceConfigurationDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.AuthorizationServiceConfigurationDataType_Encoding_DefaultXml); + /// public static readonly NodeId DecimalDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.DecimalDataType_Encoding_DefaultXml); @@ -31986,6 +33204,21 @@ public static partial class ObjectIds /// public static readonly NodeId ReferenceListEntryDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.ReferenceListEntryDataType_Encoding_DefaultXml); + /// + public static readonly NodeId LogRecord_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.LogRecord_Encoding_DefaultXml); + + /// + public static readonly NodeId LogRecordsDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.LogRecordsDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId SpanContextDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.SpanContextDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId TraceContextDataType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.TraceContextDataType_Encoding_DefaultXml); + + /// + public static readonly NodeId NameValuePair_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.NameValuePair_Encoding_DefaultXml); + /// public static readonly NodeId RolePermissionType_Encoding_DefaultXml = new NodeId(Opc.Ua.Objects.RolePermissionType_Encoding_DefaultXml); @@ -32751,9 +33984,42 @@ public static partial class ObjectIds /// public static readonly NodeId TrustListDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.TrustListDataType_Encoding_DefaultJson); + /// + public static readonly NodeId BaseConfigurationDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.BaseConfigurationDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId BaseConfigurationRecordDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.BaseConfigurationRecordDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId CertificateGroupDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.CertificateGroupDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId ConfigurationUpdateTargetType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.ConfigurationUpdateTargetType_Encoding_DefaultJson); + /// public static readonly NodeId TransactionErrorType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.TransactionErrorType_Encoding_DefaultJson); + /// + public static readonly NodeId ApplicationConfigurationDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.ApplicationConfigurationDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId ApplicationIdentityDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.ApplicationIdentityDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId EndpointDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.EndpointDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId ServerEndpointDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.ServerEndpointDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId SecuritySettingsDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.SecuritySettingsDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId UserTokenSettingsDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.UserTokenSettingsDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId AuthorizationServiceConfigurationDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.AuthorizationServiceConfigurationDataType_Encoding_DefaultJson); + /// public static readonly NodeId DecimalDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.DecimalDataType_Encoding_DefaultJson); @@ -32997,6 +34263,21 @@ public static partial class ObjectIds /// public static readonly NodeId ReferenceListEntryDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.ReferenceListEntryDataType_Encoding_DefaultJson); + /// + public static readonly NodeId LogRecord_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.LogRecord_Encoding_DefaultJson); + + /// + public static readonly NodeId LogRecordsDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.LogRecordsDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId SpanContextDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.SpanContextDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId TraceContextDataType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.TraceContextDataType_Encoding_DefaultJson); + + /// + public static readonly NodeId NameValuePair_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.NameValuePair_Encoding_DefaultJson); + /// public static readonly NodeId RolePermissionType_Encoding_DefaultJson = new NodeId(Opc.Ua.Objects.RolePermissionType_Encoding_DefaultJson); @@ -34181,6 +35462,18 @@ public static partial class ObjectTypeIds /// public static readonly NodeId HttpsCertificateType = new NodeId(Opc.Ua.ObjectTypes.HttpsCertificateType); + /// + public static readonly NodeId UserCertificateType = new NodeId(Opc.Ua.ObjectTypes.UserCertificateType); + + /// + public static readonly NodeId TlsCertificateType = new NodeId(Opc.Ua.ObjectTypes.TlsCertificateType); + + /// + public static readonly NodeId TlsServerCertificateType = new NodeId(Opc.Ua.ObjectTypes.TlsServerCertificateType); + + /// + public static readonly NodeId TlsClientCertificateType = new NodeId(Opc.Ua.ObjectTypes.TlsClientCertificateType); + /// public static readonly NodeId UserCredentialCertificateType = new NodeId(Opc.Ua.ObjectTypes.UserCredentialCertificateType); @@ -34211,6 +35504,12 @@ public static partial class ObjectTypeIds /// public static readonly NodeId EccCurve448ApplicationCertificateType = new NodeId(Opc.Ua.ObjectTypes.EccCurve448ApplicationCertificateType); + /// + public static readonly NodeId ConfigurationFileType = new NodeId(Opc.Ua.ObjectTypes.ConfigurationFileType); + + /// + public static readonly NodeId ConfigurationUpdatedAuditEventType = new NodeId(Opc.Ua.ObjectTypes.ConfigurationUpdatedAuditEventType); + /// public static readonly NodeId TrustListUpdateRequestedAuditEventType = new NodeId(Opc.Ua.ObjectTypes.TrustListUpdateRequestedAuditEventType); @@ -34223,9 +35522,15 @@ public static partial class ObjectTypeIds /// public static readonly NodeId ApplicationConfigurationFolderType = new NodeId(Opc.Ua.ObjectTypes.ApplicationConfigurationFolderType); + /// + public static readonly NodeId ApplicationConfigurationFileType = new NodeId(Opc.Ua.ObjectTypes.ApplicationConfigurationFileType); + /// public static readonly NodeId ServerConfigurationType = new NodeId(Opc.Ua.ObjectTypes.ServerConfigurationType); + /// + public static readonly NodeId ApplicationConfigurationType = new NodeId(Opc.Ua.ObjectTypes.ApplicationConfigurationType); + /// public static readonly NodeId CertificateUpdateRequestedAuditEventType = new NodeId(Opc.Ua.ObjectTypes.CertificateUpdateRequestedAuditEventType); @@ -34442,9 +35747,6 @@ public static partial class ObjectTypeIds /// public static readonly NodeId UserManagementType = new NodeId(Opc.Ua.ObjectTypes.UserManagementType); - /// - public static readonly NodeId ApplicationConfigurationType = new NodeId(Opc.Ua.ObjectTypes.ApplicationConfigurationType); - /// public static readonly NodeId ProvisionableDeviceType = new NodeId(Opc.Ua.ObjectTypes.ProvisionableDeviceType); @@ -34513,6 +35815,18 @@ public static partial class ObjectTypeIds /// public static readonly NodeId LldpRemoteSystemType = new NodeId(Opc.Ua.ObjectTypes.LldpRemoteSystemType); + + /// + public static readonly NodeId LogObjectType = new NodeId(Opc.Ua.ObjectTypes.LogObjectType); + + /// + public static readonly NodeId BaseLogEventType = new NodeId(Opc.Ua.ObjectTypes.BaseLogEventType); + + /// + public static readonly NodeId LogOverflowEventType = new NodeId(Opc.Ua.ObjectTypes.LogOverflowEventType); + + /// + public static readonly NodeId LogEntryConditionClassType = new NodeId(Opc.Ua.ObjectTypes.LogEntryConditionClassType); } #endregion @@ -39265,7 +40579,7 @@ public static partial class VariableIds public static readonly NodeId CertificateGroupType_CertificateTypes = new NodeId(Opc.Ua.Variables.CertificateGroupType_CertificateTypes); /// - public static readonly NodeId CertificateGroupType_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupType_GetRejectedList_OutputArguments); + public static readonly NodeId CertificateGroupType_Purpose = new NodeId(Opc.Ua.Variables.CertificateGroupType_Purpose); /// public static readonly NodeId CertificateGroupType_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.CertificateGroupType_CertificateExpired_EventId); @@ -39591,6 +40905,9 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupType_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.CertificateGroupType_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId CertificateGroupType_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupType_GetRejectedList_OutputArguments); + /// public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size); @@ -39654,9 +40971,6 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes); - /// - public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_CertificateExpired_EventId); @@ -39981,6 +41295,9 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultApplicationGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size); @@ -40044,9 +41361,6 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes); - /// - public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_CertificateExpired_EventId); @@ -40371,6 +41685,9 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultHttpsGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size); @@ -40434,9 +41751,6 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes); - /// - public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_CertificateExpired_EventId); @@ -40761,6 +42075,9 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_DefaultUserTokenGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size); @@ -40824,9 +42141,6 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes); - /// - public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments); - /// public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateExpired_EventId); @@ -41151,6 +42465,39 @@ public static partial class VariableIds /// public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.CertificateGroupFolderType_AdditionalGroup_Placeholder_GetRejectedList_OutputArguments); + + /// + public static readonly NodeId ConfigurationFileType_LastUpdateTime = new NodeId(Opc.Ua.Variables.ConfigurationFileType_LastUpdateTime); + + /// + public static readonly NodeId ConfigurationFileType_CurrentVersion = new NodeId(Opc.Ua.Variables.ConfigurationFileType_CurrentVersion); + + /// + public static readonly NodeId ConfigurationFileType_ActivityTimeout = new NodeId(Opc.Ua.Variables.ConfigurationFileType_ActivityTimeout); + + /// + public static readonly NodeId ConfigurationFileType_SupportedDataType = new NodeId(Opc.Ua.Variables.ConfigurationFileType_SupportedDataType); + + /// + public static readonly NodeId ConfigurationFileType_ConfirmUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ConfigurationFileType_ConfirmUpdate_InputArguments); + + /// + public static readonly NodeId ConfigurationFileType_CloseAndUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ConfigurationFileType_CloseAndUpdate_InputArguments); + + /// + public static readonly NodeId ConfigurationFileType_CloseAndUpdate_OutputArguments = new NodeId(Opc.Ua.Variables.ConfigurationFileType_CloseAndUpdate_OutputArguments); + + /// + public static readonly NodeId ConfigurationUpdateType_EnumValues = new NodeId(Opc.Ua.Variables.ConfigurationUpdateType_EnumValues); + + /// + public static readonly NodeId ConfigurationUpdatedAuditEventType_OldVersion = new NodeId(Opc.Ua.Variables.ConfigurationUpdatedAuditEventType_OldVersion); + + /// + public static readonly NodeId ConfigurationUpdatedAuditEventType_NewVersion = new NodeId(Opc.Ua.Variables.ConfigurationUpdatedAuditEventType_NewVersion); + /// public static readonly NodeId TrustListUpdatedAuditEventType_TrustListId = new NodeId(Opc.Ua.Variables.TrustListUpdatedAuditEventType_TrustListId); @@ -41172,6 +42519,57 @@ public static partial class VariableIds /// public static readonly NodeId TransactionDiagnosticsType_Errors = new NodeId(Opc.Ua.Variables.TransactionDiagnosticsType_Errors); + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_DeleteCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_DeleteCertificate_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments); + /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size); @@ -41235,9 +42633,6 @@ public static partial class VariableIds /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes); - /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId); @@ -41562,6 +42957,9 @@ public static partial class VariableIds /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size); @@ -41625,9 +43023,6 @@ public static partial class VariableIds /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes); - /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId); @@ -41952,6 +43347,9 @@ public static partial class VariableIds /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size); @@ -42015,9 +43413,6 @@ public static partial class VariableIds /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes); - /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId); @@ -42343,68 +43738,206 @@ public static partial class VariableIds public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationUri); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ProductUri); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ApplicationType); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ServerCapabilities); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_SupportedPrivateKeyFormats); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_MaxTrustListSize); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_MulticastDnsEnabled); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_InputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Size = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Size); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Writable = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Writable); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_InputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserWritable = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserWritable); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetCertificates_OutputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_OpenCount = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_OpenCount); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_GetRejectedList_OutputArguments); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Result); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments); /// - public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_TransactionDiagnostics_Errors); + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes); /// public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_Enabled = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_Enabled); + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFolderType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments); + + /// + public static readonly NodeId ApplicationConfigurationFileType_AvailableNetworks = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_AvailableNetworks); + + /// + public static readonly NodeId ApplicationConfigurationFileType_AvailablePorts = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_AvailablePorts); + + /// + public static readonly NodeId ApplicationConfigurationFileType_MaxEndpoints = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_MaxEndpoints); + + /// + public static readonly NodeId ApplicationConfigurationFileType_MaxCertificateGroups = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_MaxCertificateGroups); + + /// + public static readonly NodeId ApplicationConfigurationFileType_SecurityPolicyUris = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_SecurityPolicyUris); + + /// + public static readonly NodeId ApplicationConfigurationFileType_UserTokenTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_UserTokenTypes); + + /// + public static readonly NodeId ApplicationConfigurationFileType_CertificateTypes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_CertificateTypes); + + /// + public static readonly NodeId ApplicationConfigurationFileType_CertificateGroupPurposes = new NodeId(Opc.Ua.Variables.ApplicationConfigurationFileType_CertificateGroupPurposes); + + /// + public static readonly NodeId ServerConfigurationType_ApplicationUri = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationUri); + + /// + public static readonly NodeId ServerConfigurationType_ProductUri = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ProductUri); + + /// + public static readonly NodeId ServerConfigurationType_ApplicationType = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationType); + + /// + public static readonly NodeId ServerConfigurationType_ApplicationNames = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationNames); + + /// + public static readonly NodeId ServerConfigurationType_ServerCapabilities = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ServerCapabilities); + + /// + public static readonly NodeId ServerConfigurationType_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ServerConfigurationType_SupportedPrivateKeyFormats); + + /// + public static readonly NodeId ServerConfigurationType_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ServerConfigurationType_MaxTrustListSize); + + /// + public static readonly NodeId ServerConfigurationType_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ServerConfigurationType_MulticastDnsEnabled); + + /// + public static readonly NodeId ServerConfigurationType_HasSecureElement = new NodeId(Opc.Ua.Variables.ServerConfigurationType_HasSecureElement); + + /// + public static readonly NodeId ServerConfigurationType_SupportsTransactions = new NodeId(Opc.Ua.Variables.ServerConfigurationType_SupportsTransactions); + + /// + public static readonly NodeId ServerConfigurationType_InApplicationSetup = new NodeId(Opc.Ua.Variables.ServerConfigurationType_InApplicationSetup); + + /// + public static readonly NodeId ServerConfigurationType_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_UpdateCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_UpdateCertificate_OutputArguments); + + /// + public static readonly NodeId ServerConfigurationType_CreateSelfSignedCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSelfSignedCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_CreateSelfSignedCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSelfSignedCertificate_OutputArguments); + + /// + public static readonly NodeId ServerConfigurationType_DeleteCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_DeleteCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetCertificates_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetCertificates_OutputArguments); + + /// + public static readonly NodeId ServerConfigurationType_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSigningRequest_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSigningRequest_OutputArguments); + + /// + public static readonly NodeId ServerConfigurationType_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size); @@ -42468,9 +44001,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId); @@ -42795,6 +44325,9 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size); @@ -42858,9 +44391,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId); @@ -43185,6 +44715,9 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size); @@ -43248,9 +44781,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId); @@ -43576,76 +45106,127 @@ public static partial class VariableIds public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency); /// - public static readonly NodeId ServerConfigurationType_ApplicationUri = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationUri); + public static readonly NodeId ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); /// - public static readonly NodeId ServerConfigurationType_ProductUri = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ProductUri); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_StartTime); /// - public static readonly NodeId ServerConfigurationType_ApplicationType = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationType); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_EndTime); /// - public static readonly NodeId ServerConfigurationType_ApplicationNames = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ApplicationNames); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_Result); /// - public static readonly NodeId ServerConfigurationType_ServerCapabilities = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ServerCapabilities); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists); /// - public static readonly NodeId ServerConfigurationType_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ServerConfigurationType_SupportedPrivateKeyFormats); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups); /// - public static readonly NodeId ServerConfigurationType_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ServerConfigurationType_MaxTrustListSize); + public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_Errors); /// - public static readonly NodeId ServerConfigurationType_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ServerConfigurationType_MulticastDnsEnabled); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Size = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Size); /// - public static readonly NodeId ServerConfigurationType_HasSecureElement = new NodeId(Opc.Ua.Variables.ServerConfigurationType_HasSecureElement); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Writable = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Writable); /// - public static readonly NodeId ServerConfigurationType_SupportsTransactions = new NodeId(Opc.Ua.Variables.ServerConfigurationType_SupportsTransactions); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_UserWritable = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_UserWritable); /// - public static readonly NodeId ServerConfigurationType_InApplicationSetup = new NodeId(Opc.Ua.Variables.ServerConfigurationType_InApplicationSetup); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_OpenCount = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_OpenCount); /// - public static readonly NodeId ServerConfigurationType_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_UpdateCertificate_InputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Open_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Open_InputArguments); /// - public static readonly NodeId ServerConfigurationType_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_UpdateCertificate_OutputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Open_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Open_OutputArguments); /// - public static readonly NodeId ServerConfigurationType_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetCertificates_InputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Close_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Close_InputArguments); /// - public static readonly NodeId ServerConfigurationType_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetCertificates_OutputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Read_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Read_InputArguments); /// - public static readonly NodeId ServerConfigurationType_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSigningRequest_InputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Read_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Read_OutputArguments); /// - public static readonly NodeId ServerConfigurationType_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_CreateSigningRequest_OutputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_Write_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_Write_InputArguments); /// - public static readonly NodeId ServerConfigurationType_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_GetRejectedList_OutputArguments); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_GetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_GetPosition_InputArguments); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_StartTime); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_GetPosition_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_GetPosition_OutputArguments); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_EndTime); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_SetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_SetPosition_InputArguments); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_Result); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_LastUpdateTime = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_LastUpdateTime); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_AffectedTrustLists); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CurrentVersion = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_CurrentVersion); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_AffectedCertificateGroups); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_ActivityTimeout = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_ActivityTimeout); /// - public static readonly NodeId ServerConfigurationType_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ServerConfigurationType_TransactionDiagnostics_Errors); + public static readonly NodeId ServerConfigurationType_ConfigurationFile_SupportedDataType = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_SupportedDataType); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_ConfirmUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_ConfirmUpdate_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CloseAndUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_CloseAndUpdate_InputArguments); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CloseAndUpdate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_CloseAndUpdate_OutputArguments); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_AvailableNetworks = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_AvailableNetworks); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_AvailablePorts = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_AvailablePorts); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_MaxEndpoints = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_MaxEndpoints); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_MaxCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_MaxCertificateGroups); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_SecurityPolicyUris = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_SecurityPolicyUris); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_UserTokenTypes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_UserTokenTypes); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_CertificateTypes); + + /// + public static readonly NodeId ServerConfigurationType_ConfigurationFile_CertificateGroupPurposes = new NodeId(Opc.Ua.Variables.ServerConfigurationType_ConfigurationFile_CertificateGroupPurposes); + + /// + public static readonly NodeId ApplicationConfigurationType_ApplicationUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ApplicationUri); + + /// + public static readonly NodeId ApplicationConfigurationType_ProductUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ProductUri); + + /// + public static readonly NodeId ApplicationConfigurationType_ApplicationType = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ApplicationType); + + /// + public static readonly NodeId ApplicationConfigurationType_Enabled = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_Enabled); + + /// + public static readonly NodeId ApplicationConfigurationType_KeyCredentials_CreateCredential_InputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_KeyCredentials_CreateCredential_InputArguments); + + /// + public static readonly NodeId ApplicationConfigurationType_KeyCredentials_CreateCredential_OutputArguments = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_KeyCredentials_CreateCredential_OutputArguments); /// public static readonly NodeId CertificateUpdatedAuditEventType_CertificateGroup = new NodeId(Opc.Ua.Variables.CertificateUpdatedAuditEventType_CertificateGroup); @@ -43653,6 +45234,60 @@ public static partial class VariableIds /// public static readonly NodeId CertificateUpdatedAuditEventType_CertificateType = new NodeId(Opc.Ua.Variables.CertificateUpdatedAuditEventType_CertificateType); + /// + public static readonly NodeId ServerConfiguration_ApplicationUri = new NodeId(Opc.Ua.Variables.ServerConfiguration_ApplicationUri); + + /// + public static readonly NodeId ServerConfiguration_ProductUri = new NodeId(Opc.Ua.Variables.ServerConfiguration_ProductUri); + + /// + public static readonly NodeId ServerConfiguration_ApplicationType = new NodeId(Opc.Ua.Variables.ServerConfiguration_ApplicationType); + + /// + public static readonly NodeId ServerConfiguration_ServerCapabilities = new NodeId(Opc.Ua.Variables.ServerConfiguration_ServerCapabilities); + + /// + public static readonly NodeId ServerConfiguration_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ServerConfiguration_SupportedPrivateKeyFormats); + + /// + public static readonly NodeId ServerConfiguration_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ServerConfiguration_MaxTrustListSize); + + /// + public static readonly NodeId ServerConfiguration_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ServerConfiguration_MulticastDnsEnabled); + + /// + public static readonly NodeId ServerConfiguration_HasSecureElement = new NodeId(Opc.Ua.Variables.ServerConfiguration_HasSecureElement); + + /// + public static readonly NodeId ServerConfiguration_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_UpdateCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_UpdateCertificate_OutputArguments); + + /// + public static readonly NodeId ServerConfiguration_CreateSelfSignedCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSelfSignedCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_CreateSelfSignedCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSelfSignedCertificate_OutputArguments); + + /// + public static readonly NodeId ServerConfiguration_DeleteCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_DeleteCertificate_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetCertificates_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetCertificates_OutputArguments); + + /// + public static readonly NodeId ServerConfiguration_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSigningRequest_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSigningRequest_OutputArguments); + + /// + public static readonly NodeId ServerConfiguration_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size); @@ -43716,9 +45351,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId); @@ -44043,6 +45675,9 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size); @@ -44106,9 +45741,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId); @@ -44433,6 +46065,9 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size); @@ -44496,9 +46131,6 @@ public static partial class VariableIds /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes); - /// - public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId); @@ -44824,67 +46456,109 @@ public static partial class VariableIds public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency); /// - public static readonly NodeId ServerConfiguration_ApplicationUri = new NodeId(Opc.Ua.Variables.ServerConfiguration_ApplicationUri); + public static readonly NodeId ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); /// - public static readonly NodeId ServerConfiguration_ProductUri = new NodeId(Opc.Ua.Variables.ServerConfiguration_ProductUri); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_StartTime); /// - public static readonly NodeId ServerConfiguration_ApplicationType = new NodeId(Opc.Ua.Variables.ServerConfiguration_ApplicationType); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_EndTime); /// - public static readonly NodeId ServerConfiguration_ServerCapabilities = new NodeId(Opc.Ua.Variables.ServerConfiguration_ServerCapabilities); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_Result); /// - public static readonly NodeId ServerConfiguration_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ServerConfiguration_SupportedPrivateKeyFormats); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_AffectedTrustLists); /// - public static readonly NodeId ServerConfiguration_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ServerConfiguration_MaxTrustListSize); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups); /// - public static readonly NodeId ServerConfiguration_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ServerConfiguration_MulticastDnsEnabled); + public static readonly NodeId ServerConfiguration_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_Errors); /// - public static readonly NodeId ServerConfiguration_HasSecureElement = new NodeId(Opc.Ua.Variables.ServerConfiguration_HasSecureElement); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Size = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Size); /// - public static readonly NodeId ServerConfiguration_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_UpdateCertificate_InputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Writable = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Writable); /// - public static readonly NodeId ServerConfiguration_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_UpdateCertificate_OutputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_UserWritable = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_UserWritable); /// - public static readonly NodeId ServerConfiguration_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetCertificates_InputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_OpenCount = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_OpenCount); /// - public static readonly NodeId ServerConfiguration_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetCertificates_OutputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Open_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Open_InputArguments); /// - public static readonly NodeId ServerConfiguration_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSigningRequest_InputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Open_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Open_OutputArguments); /// - public static readonly NodeId ServerConfiguration_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_CreateSigningRequest_OutputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Close_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Close_InputArguments); /// - public static readonly NodeId ServerConfiguration_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_GetRejectedList_OutputArguments); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Read_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Read_InputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_StartTime); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Read_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Read_OutputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_EndTime); + public static readonly NodeId ServerConfiguration_ConfigurationFile_Write_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_Write_InputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_Result); + public static readonly NodeId ServerConfiguration_ConfigurationFile_GetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_GetPosition_InputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_AffectedTrustLists); + public static readonly NodeId ServerConfiguration_ConfigurationFile_GetPosition_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_GetPosition_OutputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_AffectedCertificateGroups); + public static readonly NodeId ServerConfiguration_ConfigurationFile_SetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_SetPosition_InputArguments); /// - public static readonly NodeId ServerConfiguration_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ServerConfiguration_TransactionDiagnostics_Errors); + public static readonly NodeId ServerConfiguration_ConfigurationFile_LastUpdateTime = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_LastUpdateTime); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CurrentVersion = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_CurrentVersion); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_ActivityTimeout = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_ActivityTimeout); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_SupportedDataType = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_SupportedDataType); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_ConfirmUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_ConfirmUpdate_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CloseAndUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_CloseAndUpdate_InputArguments); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CloseAndUpdate_OutputArguments = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_CloseAndUpdate_OutputArguments); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_AvailableNetworks = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_AvailableNetworks); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_AvailablePorts = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_AvailablePorts); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_MaxEndpoints = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_MaxEndpoints); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_MaxCertificateGroups = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_MaxCertificateGroups); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_SecurityPolicyUris = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_SecurityPolicyUris); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_UserTokenTypes = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_UserTokenTypes); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CertificateTypes = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_CertificateTypes); + + /// + public static readonly NodeId ServerConfiguration_ConfigurationFile_CertificateGroupPurposes = new NodeId(Opc.Ua.Variables.ServerConfiguration_ConfigurationFile_CertificateGroupPurposes); /// public static readonly NodeId KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ResourceUri = new NodeId(Opc.Ua.Variables.KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ResourceUri); @@ -48907,25 +50581,64 @@ public static partial class VariableIds public static readonly NodeId MultiStateDictionaryEntryDiscreteType_ValueAsDictionaryEntries = new NodeId(Opc.Ua.Variables.MultiStateDictionaryEntryDiscreteType_ValueAsDictionaryEntries); /// - public static readonly NodeId ApplicationConfigurationType_ApplicationUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ApplicationUri); + public static readonly NodeId ProvisionableDeviceType_IsSingleton = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_IsSingleton); /// - public static readonly NodeId ApplicationConfigurationType_ProductUri = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ProductUri); + public static readonly NodeId ProvisionableDeviceType_RequestTickets_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_RequestTickets_OutputArguments); /// - public static readonly NodeId ApplicationConfigurationType_ApplicationType = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_ApplicationType); + public static readonly NodeId ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments); /// - public static readonly NodeId ApplicationConfigurationType_Enabled = new NodeId(Opc.Ua.Variables.ApplicationConfigurationType_Enabled); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri); /// - public static readonly NodeId ProvisionableDeviceType_IsSingleton = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_IsSingleton); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri); /// - public static readonly NodeId ProvisionableDeviceType_RequestTickets_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_RequestTickets_OutputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType); /// - public static readonly NodeId ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_SetRegistrarEndpoints_InputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSelfSignedCertificate_OutputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_DeleteCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_DeleteCertificate_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments); /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustList_Size); @@ -48990,9 +50703,6 @@ public static partial class VariableIds /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateTypes); - /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId); @@ -49317,6 +51027,9 @@ public static partial class VariableIds /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustList_Size); @@ -49380,9 +51093,6 @@ public static partial class VariableIds /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateTypes); - /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId); @@ -49707,6 +51417,9 @@ public static partial class VariableIds /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency); + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments); + /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustList_Size); @@ -49770,9 +51483,6 @@ public static partial class VariableIds /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateTypes); - /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); - /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId); @@ -50098,68 +51808,119 @@ public static partial class VariableIds public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationUri); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ProductUri); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ApplicationType); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ServerCapabilities); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_SupportedPrivateKeyFormats); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_MaxTrustListSize); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_MulticastDnsEnabled); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_InputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Size = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Size); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_UpdateCertificate_OutputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Writable = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Writable); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_InputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserWritable = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserWritable); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetCertificates_OutputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_OpenCount = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_OpenCount); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_InputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_InputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_CreateSigningRequest_OutputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Open_OutputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_GetRejectedList_OutputArguments); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Close_InputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_StartTime); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_InputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_EndTime); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Read_OutputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Result); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_Write_InputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedTrustLists); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_InputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_AffectedCertificateGroups); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_GetPosition_OutputArguments); /// - public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_TransactionDiagnostics_Errors); + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SetPosition_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_LastUpdateTime); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CurrentVersion); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ActivityTimeout); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SupportedDataType); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_ConfirmUpdate_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CloseAndUpdate_OutputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailableNetworks); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_AvailablePorts); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxEndpoints); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_MaxCertificateGroups); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_SecurityPolicyUris); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_UserTokenTypes); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateTypes); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_ConfigurationFile_CertificateGroupPurposes); /// public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_Enabled = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_Enabled); + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_InputArguments); + + /// + public static readonly NodeId ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments = new NodeId(Opc.Ua.Variables.ProvisionableDeviceType_ApplicationName_Placeholder_KeyCredentials_CreateCredential_OutputArguments); + /// public static readonly NodeId ProvisionableDevice_IsSingleton = new NodeId(Opc.Ua.Variables.ProvisionableDevice_IsSingleton); @@ -50529,6 +52290,51 @@ public static partial class VariableIds /// public static readonly NodeId ReferenceDescriptionVariableType_ReferenceRefinement = new NodeId(Opc.Ua.Variables.ReferenceDescriptionVariableType_ReferenceRefinement); + /// + public static readonly NodeId LogObjectType_GetRecords_InputArguments = new NodeId(Opc.Ua.Variables.LogObjectType_GetRecords_InputArguments); + + /// + public static readonly NodeId LogObjectType_GetRecords_OutputArguments = new NodeId(Opc.Ua.Variables.LogObjectType_GetRecords_OutputArguments); + + /// + public static readonly NodeId LogObjectType_MaxRecords = new NodeId(Opc.Ua.Variables.LogObjectType_MaxRecords); + + /// + public static readonly NodeId LogObjectType_MaxStorageDuration = new NodeId(Opc.Ua.Variables.LogObjectType_MaxStorageDuration); + + /// + public static readonly NodeId LogObjectType_MinimumSeverity = new NodeId(Opc.Ua.Variables.LogObjectType_MinimumSeverity); + + /// + public static readonly NodeId LogRecordMask_OptionSetValues = new NodeId(Opc.Ua.Variables.LogRecordMask_OptionSetValues); + + /// + public static readonly NodeId BaseLogEventType_ConditionClassId = new NodeId(Opc.Ua.Variables.BaseLogEventType_ConditionClassId); + + /// + public static readonly NodeId BaseLogEventType_ConditionClassName = new NodeId(Opc.Ua.Variables.BaseLogEventType_ConditionClassName); + + /// + public static readonly NodeId BaseLogEventType_ErrorCode = new NodeId(Opc.Ua.Variables.BaseLogEventType_ErrorCode); + + /// + public static readonly NodeId BaseLogEventType_ErrorCodeNode = new NodeId(Opc.Ua.Variables.BaseLogEventType_ErrorCodeNode); + + /// + public static readonly NodeId ServerLog_GetRecords_InputArguments = new NodeId(Opc.Ua.Variables.ServerLog_GetRecords_InputArguments); + + /// + public static readonly NodeId ServerLog_GetRecords_OutputArguments = new NodeId(Opc.Ua.Variables.ServerLog_GetRecords_OutputArguments); + + /// + public static readonly NodeId ServerLog_MaxRecords = new NodeId(Opc.Ua.Variables.ServerLog_MaxRecords); + + /// + public static readonly NodeId ServerLog_MaxStorageDuration = new NodeId(Opc.Ua.Variables.ServerLog_MaxStorageDuration); + + /// + public static readonly NodeId ServerLog_MinimumSeverity = new NodeId(Opc.Ua.Variables.ServerLog_MinimumSeverity); + /// public static readonly NodeId IdType_EnumStrings = new NodeId(Opc.Ua.Variables.IdType_EnumStrings); @@ -50688,9 +52494,42 @@ public static partial class VariableIds /// public static readonly NodeId OpcUa_BinarySchema_TrustListDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_TrustListDataType); + /// + public static readonly NodeId OpcUa_BinarySchema_BaseConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_BaseConfigurationDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_BaseConfigurationRecordDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_BaseConfigurationRecordDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_CertificateGroupDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_CertificateGroupDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_ConfigurationUpdateTargetType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_ConfigurationUpdateTargetType); + /// public static readonly NodeId OpcUa_BinarySchema_TransactionErrorType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_TransactionErrorType); + /// + public static readonly NodeId OpcUa_BinarySchema_ApplicationConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_ApplicationConfigurationDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_ApplicationIdentityDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_ApplicationIdentityDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_EndpointDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_EndpointDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_ServerEndpointDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_ServerEndpointDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_SecuritySettingsDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_SecuritySettingsDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_UserTokenSettingsDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_UserTokenSettingsDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_AuthorizationServiceConfigurationDataType); + /// public static readonly NodeId OpcUa_BinarySchema_DataTypeSchemaHeader = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_DataTypeSchemaHeader); @@ -50931,6 +52770,21 @@ public static partial class VariableIds /// public static readonly NodeId OpcUa_BinarySchema_ReferenceListEntryDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_ReferenceListEntryDataType); + /// + public static readonly NodeId OpcUa_BinarySchema_LogRecord = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_LogRecord); + + /// + public static readonly NodeId OpcUa_BinarySchema_LogRecordsDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_LogRecordsDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_SpanContextDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_SpanContextDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_TraceContextDataType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_TraceContextDataType); + + /// + public static readonly NodeId OpcUa_BinarySchema_NameValuePair = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_NameValuePair); + /// public static readonly NodeId OpcUa_BinarySchema_RolePermissionType = new NodeId(Opc.Ua.Variables.OpcUa_BinarySchema_RolePermissionType); @@ -51204,9 +53058,42 @@ public static partial class VariableIds /// public static readonly NodeId OpcUa_XmlSchema_TrustListDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_TrustListDataType); + /// + public static readonly NodeId OpcUa_XmlSchema_BaseConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_BaseConfigurationDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_BaseConfigurationRecordDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_BaseConfigurationRecordDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_CertificateGroupDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_CertificateGroupDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_ConfigurationUpdateTargetType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_ConfigurationUpdateTargetType); + /// public static readonly NodeId OpcUa_XmlSchema_TransactionErrorType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_TransactionErrorType); + /// + public static readonly NodeId OpcUa_XmlSchema_ApplicationConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_ApplicationConfigurationDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_ApplicationIdentityDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_ApplicationIdentityDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_EndpointDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_EndpointDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_ServerEndpointDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_ServerEndpointDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_SecuritySettingsDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_SecuritySettingsDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_UserTokenSettingsDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_UserTokenSettingsDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_AuthorizationServiceConfigurationDataType); + /// public static readonly NodeId OpcUa_XmlSchema_DataTypeSchemaHeader = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_DataTypeSchemaHeader); @@ -51447,6 +53334,21 @@ public static partial class VariableIds /// public static readonly NodeId OpcUa_XmlSchema_ReferenceListEntryDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_ReferenceListEntryDataType); + /// + public static readonly NodeId OpcUa_XmlSchema_LogRecord = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_LogRecord); + + /// + public static readonly NodeId OpcUa_XmlSchema_LogRecordsDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_LogRecordsDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_SpanContextDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_SpanContextDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_TraceContextDataType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_TraceContextDataType); + + /// + public static readonly NodeId OpcUa_XmlSchema_NameValuePair = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_NameValuePair); + /// public static readonly NodeId OpcUa_XmlSchema_RolePermissionType = new NodeId(Opc.Ua.Variables.OpcUa_XmlSchema_RolePermissionType); @@ -52269,6 +54171,12 @@ public static partial class BrowseNames /// public const string ApplicationCertificateType = "ApplicationCertificateType"; + /// + public const string ApplicationConfigurationDataType = "ApplicationConfigurationDataType"; + + /// + public const string ApplicationConfigurationFileType = "ApplicationConfigurationFileType"; + /// public const string ApplicationConfigurationFolderType = "ApplicationConfigurationFolderType"; @@ -52278,6 +54186,9 @@ public static partial class BrowseNames /// public const string ApplicationDescription = "ApplicationDescription"; + /// + public const string ApplicationIdentityDataType = "ApplicationIdentityDataType"; + /// public const string ApplicationInstanceCertificate = "ApplicationInstanceCertificate"; @@ -52497,6 +54408,9 @@ public static partial class BrowseNames /// public const string AuthenticationProfileUri = "AuthenticationProfileUri"; + /// + public const string AuthorizationServiceConfigurationDataType = "AuthorizationServiceConfigurationDataType"; + /// public const string AuthorizationServiceConfigurationType = "AuthorizationServiceConfigurationType"; @@ -52509,6 +54423,12 @@ public static partial class BrowseNames /// public const string AutoDelete = "AutoDelete"; + /// + public const string AvailableNetworks = "AvailableNetworks"; + + /// + public const string AvailablePorts = "AvailablePorts"; + /// public const string AvailableStates = "AvailableStates"; @@ -52539,6 +54459,12 @@ public static partial class BrowseNames /// public const string BaseConditionClassType = "BaseConditionClassType"; + /// + public const string BaseConfigurationDataType = "BaseConfigurationDataType"; + + /// + public const string BaseConfigurationRecordDataType = "BaseConfigurationRecordDataType"; + /// public const string BaseDataType = "BaseDataType"; @@ -52560,6 +54486,9 @@ public static partial class BrowseNames /// public const string BaseInterfaceType = "BaseInterfaceType"; + /// + public const string BaseLogEventType = "BaseLogEventType"; + /// public const string BaseLowLimit = "BaseLowLimit"; @@ -52731,9 +54660,15 @@ public static partial class BrowseNames /// public const string CertificateGroup = "CertificateGroup"; + /// + public const string CertificateGroupDataType = "CertificateGroupDataType"; + /// public const string CertificateGroupFolderType = "CertificateGroupFolderType"; + /// + public const string CertificateGroupPurposes = "CertificateGroupPurposes"; + /// public const string CertificateGroups = "CertificateGroups"; @@ -52875,9 +54810,24 @@ public static partial class BrowseNames /// public const string ConditionVariableType = "ConditionVariableType"; + /// + public const string ConfigurationFile = "ConfigurationFile"; + + /// + public const string ConfigurationFileType = "ConfigurationFileType"; + /// public const string ConfigurationProperties = "ConfigurationProperties"; + /// + public const string ConfigurationUpdatedAuditEventType = "ConfigurationUpdatedAuditEventType"; + + /// + public const string ConfigurationUpdateTargetType = "ConfigurationUpdateTargetType"; + + /// + public const string ConfigurationUpdateType = "ConfigurationUpdateType"; + /// public const string ConfigurationVersion = "ConfigurationVersion"; @@ -52893,6 +54843,9 @@ public static partial class BrowseNames /// public const string ConfirmedState = "ConfirmedState"; + /// + public const string ConfirmUpdate = "ConfirmUpdate"; + /// public const string ConformanceUnits = "ConformanceUnits"; @@ -52980,6 +54933,9 @@ public static partial class BrowseNames /// public const string CreateMonitoredItemsResponse = "CreateMonitoredItemsResponse"; + /// + public const string CreateSelfSignedCertificate = "CreateSelfSignedCertificate"; + /// public const string CreateSessionId = "CreateSessionId"; @@ -53058,6 +55014,9 @@ public static partial class BrowseNames /// public const string CurrentTime = "CurrentTime"; + /// + public const string CurrentVersion = "CurrentVersion"; + /// public const string CustomConfiguration = "CustomConfiguration"; @@ -53310,6 +55269,9 @@ public static partial class BrowseNames /// public const string DeleteAtTimeDetails = "DeleteAtTimeDetails"; + /// + public const string DeleteCertificate = "DeleteCertificate"; + /// public const string DeleteCredential = "DeleteCredential"; @@ -53547,6 +55509,9 @@ public static partial class BrowseNames /// public const string EndpointConfiguration = "EndpointConfiguration"; + /// + public const string EndpointDataType = "EndpointDataType"; + /// public const string EndpointDescription = "EndpointDescription"; @@ -53604,6 +55569,12 @@ public static partial class BrowseNames /// public const string Error = "Error"; + /// + public const string ErrorCode = "ErrorCode"; + + /// + public const string ErrorCodeNode = "ErrorCodeNode"; + /// public const string Errors = "Errors"; @@ -53850,6 +55821,9 @@ public static partial class BrowseNames /// public const string GetPosition = "GetPosition"; + /// + public const string GetRecords = "GetRecords"; + /// public const string GetRejectedList = "GetRejectedList"; @@ -54450,6 +56424,9 @@ public static partial class BrowseNames /// public const string KeyCredentialDeletedAuditEventType = "KeyCredentialDeletedAuditEventType"; + /// + public const string KeyCredentials = "KeyCredentials"; + /// public const string KeyCredentialUpdatedAuditEventType = "KeyCredentialUpdatedAuditEventType"; @@ -54606,6 +56583,27 @@ public static partial class BrowseNames /// public const string Locations = "Locations"; + /// + public const string LogEntryConditionClassType = "LogEntryConditionClassType"; + + /// + public const string LogObjectType = "LogObjectType"; + + /// + public const string LogOverflowEventType = "LogOverflowEventType"; + + /// + public const string LogRecord = "LogRecord"; + + /// + public const string LogRecordMask = "LogRecordMask"; + + /// + public const string LogRecordsDataType = "LogRecordsDataType"; + + /// + public const string Logs = "Logs"; + /// public const string Low = "Low"; @@ -54678,6 +56676,9 @@ public static partial class BrowseNames /// public const string MaxByteStringLength = "MaxByteStringLength"; + /// + public const string MaxCertificateGroups = "MaxCertificateGroups"; + /// public const string MaxCharacters = "MaxCharacters"; @@ -54693,6 +56694,9 @@ public static partial class BrowseNames /// public const string MaxDataSetWritersPerGroup = "MaxDataSetWritersPerGroup"; + /// + public const string MaxEndpoints = "MaxEndpoints"; + /// public const string MaxFieldsPerDataSet = "MaxFieldsPerDataSet"; @@ -54810,6 +56814,9 @@ public static partial class BrowseNames /// public const string MaxReaderGroups = "MaxReaderGroups"; + /// + public const string MaxRecords = "MaxRecords"; + /// public const string MaxRecycleCount = "MaxRecycleCount"; @@ -54837,6 +56844,9 @@ public static partial class BrowseNames /// public const string MaxStandaloneSubscribedDataSets = "MaxStandaloneSubscribedDataSets"; + /// + public const string MaxStorageDuration = "MaxStorageDuration"; + /// public const string MaxStringLength = "MaxStringLength"; @@ -54903,6 +56913,9 @@ public static partial class BrowseNames /// public const string MimeType = "MimeType"; + /// + public const string MinimumSeverity = "MinimumSeverity"; + /// public const string MinSupportedSampleRate = "MinSupportedSampleRate"; @@ -55053,6 +57066,9 @@ public static partial class BrowseNames /// public const string NamespaceVersion = "NamespaceVersion"; + /// + public const string NameValuePair = "NameValuePair"; + /// public const string NamingRuleType = "NamingRuleType"; @@ -55098,6 +57114,9 @@ public static partial class BrowseNames /// public const string NewValues = "NewValues"; + /// + public const string NewVersion = "NewVersion"; + /// public const string NextSequenceNumber = "NextSequenceNumber"; @@ -55221,6 +57240,9 @@ public static partial class BrowseNames /// public const string OldValues = "OldValues"; + /// + public const string OldVersion = "OldVersion"; + /// public const string OnDelay = "OnDelay"; @@ -55629,6 +57651,9 @@ public static partial class BrowseNames /// public const string PubSubTransportLimitsExceedEventType = "PubSubTransportLimitsExceedEventType"; + /// + public const string Purpose = "Purpose"; + /// public const string PushTargetFolderName_Placeholder = ""; @@ -56217,12 +58242,18 @@ public static partial class BrowseNames /// public const string SecurityPolicyUri = "SecurityPolicyUri"; + /// + public const string SecurityPolicyUris = "SecurityPolicyUris"; + /// public const string SecurityRejectedRequestsCount = "SecurityRejectedRequestsCount"; /// public const string SecurityRejectedSessionCount = "SecurityRejectedSessionCount"; + /// + public const string SecuritySettingsDataType = "SecuritySettingsDataType"; + /// public const string SecurityTokenRequestType = "SecurityTokenRequestType"; @@ -56292,9 +58323,15 @@ public static partial class BrowseNames /// public const string ServerDiagnosticsType = "ServerDiagnosticsType"; + /// + public const string ServerEndpointDataType = "ServerEndpointDataType"; + /// public const string ServerId = "ServerId"; + /// + public const string ServerLog = "ServerLog"; + /// public const string ServerNetworkGroups = "ServerNetworkGroups"; @@ -56544,6 +58581,9 @@ public static partial class BrowseNames /// public const string SourceTimestamp = "SourceTimestamp"; + /// + public const string SpanContextDataType = "SpanContextDataType"; + /// public const string Speed = "Speed"; @@ -56697,6 +58737,9 @@ public static partial class BrowseNames /// public const string SubscriptionId = "SubscriptionId"; + /// + public const string SupportedDataType = "SupportedDataType"; + /// public const string SupportedPrivateKeyFormats = "SupportedPrivateKeyFormats"; @@ -56874,6 +58917,15 @@ public static partial class BrowseNames /// public const string Title = "Title"; + /// + public const string TlsCertificateType = "TlsCertificateType"; + + /// + public const string TlsClientCertificateType = "TlsClientCertificateType"; + + /// + public const string TlsServerCertificateType = "TlsServerCertificateType"; + /// public const string Tolerance = "Tolerance"; @@ -56895,6 +58947,9 @@ public static partial class BrowseNames /// public const string TotalRequestCount = "TotalRequestCount"; + /// + public const string TraceContextDataType = "TraceContextDataType"; + /// public const string TrainingConditionClassType = "TrainingConditionClassType"; @@ -57180,6 +59235,9 @@ public static partial class BrowseNames /// public const string Url = "Url"; + /// + public const string UserCertificateType = "UserCertificateType"; + /// public const string UserConfigurationMask = "UserConfigurationMask"; @@ -57207,9 +59265,15 @@ public static partial class BrowseNames /// public const string UserTokenPolicy = "UserTokenPolicy"; + /// + public const string UserTokenSettingsDataType = "UserTokenSettingsDataType"; + /// public const string UserTokenType = "UserTokenType"; + /// + public const string UserTokenTypes = "UserTokenTypes"; + /// public const string UserWritable = "UserWritable"; diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.DataTypes.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.DataTypes.cs index db29b190ba..5e41eecbfa 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.DataTypes.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.DataTypes.cs @@ -31,7 +31,10 @@ using System.Collections.Generic; using System.Text; using System.Xml; +using System.Linq; using System.Runtime.Serialization; +using System.Threading.Tasks; +using System.Threading; namespace Opc.Ua { @@ -4936,17 +4939,17 @@ public object Clone() #endif #endregion - #region TransactionErrorType Class - #if (!OPCUA_EXCLUDE_TransactionErrorType) + #region BaseConfigurationDataType Class + #if (!OPCUA_EXCLUDE_BaseConfigurationDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class TransactionErrorType : IEncodeable, IJsonEncodeable + public partial class BaseConfigurationDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public TransactionErrorType() + public BaseConfigurationDataType() { Initialize(); } @@ -4959,59 +4962,61 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_targetId = null; - m_error = StatusCodes.Good; - m_message = null; + m_configurationVersion = (uint)0; + m_configurationProperties = new KeyValuePairCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "TargetId", IsRequired = false, Order = 1)] - public NodeId TargetId + [DataMember(Name = "ConfigurationVersion", IsRequired = false, Order = 1)] + public uint ConfigurationVersion { - get { return m_targetId; } - set { m_targetId = value; } + get { return m_configurationVersion; } + set { m_configurationVersion = value; } } /// - [DataMember(Name = "Error", IsRequired = false, Order = 2)] - public StatusCode Error + [DataMember(Name = "ConfigurationProperties", IsRequired = false, Order = 2)] + public KeyValuePairCollection ConfigurationProperties { - get { return m_error; } - set { m_error = value; } - } + get + { + return m_configurationProperties; + } - /// - [DataMember(Name = "Message", IsRequired = false, Order = 3)] - public LocalizedText Message - { - get { return m_message; } - set { m_message = value; } + set + { + m_configurationProperties = value; + + if (value == null) + { + m_configurationProperties = new KeyValuePairCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.TransactionErrorType; + public virtual ExpandedNodeId TypeId => DataTypeIds.BaseConfigurationDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.BaseConfigurationDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.BaseConfigurationDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.BaseConfigurationDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("TargetId", TargetId); - encoder.WriteStatusCode("Error", Error); - encoder.WriteLocalizedText("Message", Message); + encoder.WriteUInt32("ConfigurationVersion", ConfigurationVersion); + encoder.WriteEncodeableArray("ConfigurationProperties", ConfigurationProperties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } @@ -5021,9 +5026,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - TargetId = decoder.ReadNodeId("TargetId"); - Error = decoder.ReadStatusCode("Error"); - Message = decoder.ReadLocalizedText("Message"); + ConfigurationVersion = decoder.ReadUInt32("ConfigurationVersion"); + ConfigurationProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("ConfigurationProperties", typeof(KeyValuePair)); decoder.PopNamespace(); } @@ -5036,16 +5040,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - TransactionErrorType value = encodeable as TransactionErrorType; + BaseConfigurationDataType value = encodeable as BaseConfigurationDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_targetId, value.m_targetId)) return false; - if (!Utils.IsEqual(m_error, value.m_error)) return false; - if (!Utils.IsEqual(m_message, value.m_message)) return false; + if (!Utils.IsEqual(m_configurationVersion, value.m_configurationVersion)) return false; + if (!Utils.IsEqual(m_configurationProperties, value.m_configurationProperties)) return false; return true; } @@ -5053,61 +5056,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (TransactionErrorType)this.MemberwiseClone(); + return (BaseConfigurationDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - TransactionErrorType clone = (TransactionErrorType)base.MemberwiseClone(); + BaseConfigurationDataType clone = (BaseConfigurationDataType)base.MemberwiseClone(); - clone.m_targetId = (NodeId)Utils.Clone(this.m_targetId); - clone.m_error = (StatusCode)Utils.Clone(this.m_error); - clone.m_message = (LocalizedText)Utils.Clone(this.m_message); + clone.m_configurationVersion = (uint)Utils.Clone(this.m_configurationVersion); + clone.m_configurationProperties = (KeyValuePairCollection)Utils.Clone(this.m_configurationProperties); return clone; } #endregion #region Private Fields - private NodeId m_targetId; - private StatusCode m_error; - private LocalizedText m_message; + private uint m_configurationVersion; + private KeyValuePairCollection m_configurationProperties; #endregion } - #region TransactionErrorTypeCollection Class + #region BaseConfigurationDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTransactionErrorType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransactionErrorType")] - public partial class TransactionErrorTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfBaseConfigurationDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BaseConfigurationDataType")] + public partial class BaseConfigurationDataTypeCollection : List, ICloneable { #region Constructors /// - public TransactionErrorTypeCollection() {} + public BaseConfigurationDataTypeCollection() {} /// - public TransactionErrorTypeCollection(int capacity) : base(capacity) {} + public BaseConfigurationDataTypeCollection(int capacity) : base(capacity) {} /// - public TransactionErrorTypeCollection(IEnumerable collection) : base(collection) {} + public BaseConfigurationDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TransactionErrorTypeCollection(TransactionErrorType[] values) + public static implicit operator BaseConfigurationDataTypeCollection(BaseConfigurationDataType[] values) { if (values != null) { - return new TransactionErrorTypeCollection(values); + return new BaseConfigurationDataTypeCollection(values); } - return new TransactionErrorTypeCollection(); + return new BaseConfigurationDataTypeCollection(); } /// - public static explicit operator TransactionErrorType[](TransactionErrorTypeCollection values) + public static explicit operator BaseConfigurationDataType[](BaseConfigurationDataTypeCollection values) { if (values != null) { @@ -5122,18 +5123,18 @@ public static explicit operator TransactionErrorType[](TransactionErrorTypeColle /// public object Clone() { - return (TransactionErrorTypeCollection)this.MemberwiseClone(); + return (BaseConfigurationDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TransactionErrorTypeCollection clone = new TransactionErrorTypeCollection(this.Count); + BaseConfigurationDataTypeCollection clone = new BaseConfigurationDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TransactionErrorType)Utils.Clone(this[ii])); + clone.Add((BaseConfigurationDataType)Utils.Clone(this[ii])); } return clone; @@ -5143,17 +5144,17 @@ public object Clone() #endif #endregion - #region DecimalDataType Class - #if (!OPCUA_EXCLUDE_DecimalDataType) + #region BaseConfigurationRecordDataType Class + #if (!OPCUA_EXCLUDE_BaseConfigurationRecordDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DecimalDataType : IEncodeable, IJsonEncodeable + public partial class BaseConfigurationRecordDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DecimalDataType() + public BaseConfigurationRecordDataType() { Initialize(); } @@ -5166,49 +5167,61 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_scale = (short)0; - m_value = null; + m_name = null; + m_recordProperties = new KeyValuePairCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "Scale", IsRequired = false, Order = 1)] - public short Scale + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name { - get { return m_scale; } - set { m_scale = value; } + get { return m_name; } + set { m_name = value; } } /// - [DataMember(Name = "Value", IsRequired = false, Order = 2)] - public byte[] Value + [DataMember(Name = "RecordProperties", IsRequired = false, Order = 2)] + public KeyValuePairCollection RecordProperties { - get { return m_value; } - set { m_value = value; } + get + { + return m_recordProperties; + } + + set + { + m_recordProperties = value; + + if (value == null) + { + m_recordProperties = new KeyValuePairCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DecimalDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.BaseConfigurationRecordDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.BaseConfigurationRecordDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.BaseConfigurationRecordDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.BaseConfigurationRecordDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteInt16("Scale", Scale); - encoder.WriteByteString("Value", Value); + encoder.WriteString("Name", Name); + encoder.WriteEncodeableArray("RecordProperties", RecordProperties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } @@ -5218,8 +5231,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Scale = decoder.ReadInt16("Scale"); - Value = decoder.ReadByteString("Value"); + Name = decoder.ReadString("Name"); + RecordProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("RecordProperties", typeof(KeyValuePair)); decoder.PopNamespace(); } @@ -5232,15 +5245,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DecimalDataType value = encodeable as DecimalDataType; + BaseConfigurationRecordDataType value = encodeable as BaseConfigurationRecordDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_scale, value.m_scale)) return false; - if (!Utils.IsEqual(m_value, value.m_value)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_recordProperties, value.m_recordProperties)) return false; return true; } @@ -5248,263 +5261,308 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DecimalDataType)this.MemberwiseClone(); + return (BaseConfigurationRecordDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DecimalDataType clone = (DecimalDataType)base.MemberwiseClone(); + BaseConfigurationRecordDataType clone = (BaseConfigurationRecordDataType)base.MemberwiseClone(); - clone.m_scale = (short)Utils.Clone(this.m_scale); - clone.m_value = (byte[])Utils.Clone(this.m_value); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_recordProperties = (KeyValuePairCollection)Utils.Clone(this.m_recordProperties); return clone; } #endregion #region Private Fields - private short m_scale; - private byte[] m_value; + private string m_name; + private KeyValuePairCollection m_recordProperties; + #endregion + } + + #region BaseConfigurationRecordDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfBaseConfigurationRecordDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BaseConfigurationRecordDataType")] + public partial class BaseConfigurationRecordDataTypeCollection : List, ICloneable + { + #region Constructors + /// + public BaseConfigurationRecordDataTypeCollection() {} + + /// + public BaseConfigurationRecordDataTypeCollection(int capacity) : base(capacity) {} + + /// + public BaseConfigurationRecordDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator BaseConfigurationRecordDataTypeCollection(BaseConfigurationRecordDataType[] values) + { + if (values != null) + { + return new BaseConfigurationRecordDataTypeCollection(values); + } + + return new BaseConfigurationRecordDataTypeCollection(); + } + + /// + public static explicit operator BaseConfigurationRecordDataType[](BaseConfigurationRecordDataTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (BaseConfigurationRecordDataTypeCollection)this.MemberwiseClone(); + } #endregion + + /// + public new object MemberwiseClone() + { + BaseConfigurationRecordDataTypeCollection clone = new BaseConfigurationRecordDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((BaseConfigurationRecordDataType)Utils.Clone(this[ii])); + } + + return clone; + } } + #endregion #endif #endregion - #region DataTypeSchemaHeader Class - #if (!OPCUA_EXCLUDE_DataTypeSchemaHeader) + #region CertificateGroupDataType Class + #if (!OPCUA_EXCLUDE_CertificateGroupDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataTypeSchemaHeader : IEncodeable, IJsonEncodeable + public partial class CertificateGroupDataType : Opc.Ua.BaseConfigurationRecordDataType { #region Constructors /// - public DataTypeSchemaHeader() + public CertificateGroupDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_namespaces = new StringCollection(); - m_structureDataTypes = new StructureDescriptionCollection(); - m_enumDataTypes = new EnumDescriptionCollection(); - m_simpleDataTypes = new SimpleTypeDescriptionCollection(); + m_purpose = null; + m_certificateTypes = new NodeIdCollection(); + m_isCertificateAssigned = new BooleanCollection(); + m_validationOptions = 0; } #endregion #region Public Properties /// - [DataMember(Name = "Namespaces", IsRequired = false, Order = 1)] - public StringCollection Namespaces + [DataMember(Name = "Purpose", IsRequired = false, Order = 1)] + public NodeId Purpose { - get - { - return m_namespaces; - } - - set - { - m_namespaces = value; - - if (value == null) - { - m_namespaces = new StringCollection(); - } - } + get { return m_purpose; } + set { m_purpose = value; } } /// - [DataMember(Name = "StructureDataTypes", IsRequired = false, Order = 2)] - public StructureDescriptionCollection StructureDataTypes + [DataMember(Name = "CertificateTypes", IsRequired = false, Order = 2)] + public NodeIdCollection CertificateTypes { get { - return m_structureDataTypes; + return m_certificateTypes; } set { - m_structureDataTypes = value; + m_certificateTypes = value; if (value == null) { - m_structureDataTypes = new StructureDescriptionCollection(); + m_certificateTypes = new NodeIdCollection(); } } } /// - [DataMember(Name = "EnumDataTypes", IsRequired = false, Order = 3)] - public EnumDescriptionCollection EnumDataTypes + [DataMember(Name = "IsCertificateAssigned", IsRequired = false, Order = 3)] + public BooleanCollection IsCertificateAssigned { get { - return m_enumDataTypes; + return m_isCertificateAssigned; } set { - m_enumDataTypes = value; + m_isCertificateAssigned = value; if (value == null) { - m_enumDataTypes = new EnumDescriptionCollection(); + m_isCertificateAssigned = new BooleanCollection(); } } } /// - [DataMember(Name = "SimpleDataTypes", IsRequired = false, Order = 4)] - public SimpleTypeDescriptionCollection SimpleDataTypes + [DataMember(Name = "ValidationOptions", IsRequired = false, Order = 4)] + public uint ValidationOptions { - get - { - return m_simpleDataTypes; - } - - set - { - m_simpleDataTypes = value; - - if (value == null) - { - m_simpleDataTypes = new SimpleTypeDescriptionCollection(); - } - } + get { return m_validationOptions; } + set { m_validationOptions = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataTypeSchemaHeader; + public override ExpandedNodeId TypeId => DataTypeIds.CertificateGroupDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.CertificateGroupDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.CertificateGroupDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.CertificateGroupDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteStringArray("Namespaces", Namespaces); - encoder.WriteEncodeableArray("StructureDataTypes", StructureDataTypes.ToArray(), typeof(StructureDescription)); - encoder.WriteEncodeableArray("EnumDataTypes", EnumDataTypes.ToArray(), typeof(EnumDescription)); - encoder.WriteEncodeableArray("SimpleDataTypes", SimpleDataTypes.ToArray(), typeof(SimpleTypeDescription)); + encoder.WriteNodeId("Purpose", Purpose); + encoder.WriteNodeIdArray("CertificateTypes", CertificateTypes); + encoder.WriteBooleanArray("IsCertificateAssigned", IsCertificateAssigned); + encoder.WriteUInt32("ValidationOptions", ValidationOptions); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Namespaces = decoder.ReadStringArray("Namespaces"); - StructureDataTypes = (StructureDescriptionCollection)decoder.ReadEncodeableArray("StructureDataTypes", typeof(StructureDescription)); - EnumDataTypes = (EnumDescriptionCollection)decoder.ReadEncodeableArray("EnumDataTypes", typeof(EnumDescription)); - SimpleDataTypes = (SimpleTypeDescriptionCollection)decoder.ReadEncodeableArray("SimpleDataTypes", typeof(SimpleTypeDescription)); + Purpose = decoder.ReadNodeId("Purpose"); + CertificateTypes = decoder.ReadNodeIdArray("CertificateTypes"); + IsCertificateAssigned = decoder.ReadBooleanArray("IsCertificateAssigned"); + ValidationOptions = decoder.ReadUInt32("ValidationOptions"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - DataTypeSchemaHeader value = encodeable as DataTypeSchemaHeader; + CertificateGroupDataType value = encodeable as CertificateGroupDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_namespaces, value.m_namespaces)) return false; - if (!Utils.IsEqual(m_structureDataTypes, value.m_structureDataTypes)) return false; - if (!Utils.IsEqual(m_enumDataTypes, value.m_enumDataTypes)) return false; - if (!Utils.IsEqual(m_simpleDataTypes, value.m_simpleDataTypes)) return false; + if (!Utils.IsEqual(m_purpose, value.m_purpose)) return false; + if (!Utils.IsEqual(m_certificateTypes, value.m_certificateTypes)) return false; + if (!Utils.IsEqual(m_isCertificateAssigned, value.m_isCertificateAssigned)) return false; + if (!Utils.IsEqual(m_validationOptions, value.m_validationOptions)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (DataTypeSchemaHeader)this.MemberwiseClone(); + return (CertificateGroupDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataTypeSchemaHeader clone = (DataTypeSchemaHeader)base.MemberwiseClone(); + CertificateGroupDataType clone = (CertificateGroupDataType)base.MemberwiseClone(); - clone.m_namespaces = (StringCollection)Utils.Clone(this.m_namespaces); - clone.m_structureDataTypes = (StructureDescriptionCollection)Utils.Clone(this.m_structureDataTypes); - clone.m_enumDataTypes = (EnumDescriptionCollection)Utils.Clone(this.m_enumDataTypes); - clone.m_simpleDataTypes = (SimpleTypeDescriptionCollection)Utils.Clone(this.m_simpleDataTypes); + clone.m_purpose = (NodeId)Utils.Clone(this.m_purpose); + clone.m_certificateTypes = (NodeIdCollection)Utils.Clone(this.m_certificateTypes); + clone.m_isCertificateAssigned = (BooleanCollection)Utils.Clone(this.m_isCertificateAssigned); + clone.m_validationOptions = (uint)Utils.Clone(this.m_validationOptions); return clone; } #endregion #region Private Fields - private StringCollection m_namespaces; - private StructureDescriptionCollection m_structureDataTypes; - private EnumDescriptionCollection m_enumDataTypes; - private SimpleTypeDescriptionCollection m_simpleDataTypes; + private NodeId m_purpose; + private NodeIdCollection m_certificateTypes; + private BooleanCollection m_isCertificateAssigned; + private uint m_validationOptions; #endregion } - #region DataTypeSchemaHeaderCollection Class + #region CertificateGroupDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataTypeSchemaHeader", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataTypeSchemaHeader")] - public partial class DataTypeSchemaHeaderCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfCertificateGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "CertificateGroupDataType")] + public partial class CertificateGroupDataTypeCollection : List, ICloneable { #region Constructors /// - public DataTypeSchemaHeaderCollection() {} + public CertificateGroupDataTypeCollection() {} /// - public DataTypeSchemaHeaderCollection(int capacity) : base(capacity) {} + public CertificateGroupDataTypeCollection(int capacity) : base(capacity) {} /// - public DataTypeSchemaHeaderCollection(IEnumerable collection) : base(collection) {} + public CertificateGroupDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataTypeSchemaHeaderCollection(DataTypeSchemaHeader[] values) + public static implicit operator CertificateGroupDataTypeCollection(CertificateGroupDataType[] values) { if (values != null) { - return new DataTypeSchemaHeaderCollection(values); + return new CertificateGroupDataTypeCollection(values); } - return new DataTypeSchemaHeaderCollection(); + return new CertificateGroupDataTypeCollection(); } /// - public static explicit operator DataTypeSchemaHeader[](DataTypeSchemaHeaderCollection values) + public static explicit operator CertificateGroupDataType[](CertificateGroupDataTypeCollection values) { if (values != null) { @@ -5519,18 +5577,18 @@ public static explicit operator DataTypeSchemaHeader[](DataTypeSchemaHeaderColle /// public object Clone() { - return (DataTypeSchemaHeaderCollection)this.MemberwiseClone(); + return (CertificateGroupDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataTypeSchemaHeaderCollection clone = new DataTypeSchemaHeaderCollection(this.Count); + CertificateGroupDataTypeCollection clone = new CertificateGroupDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataTypeSchemaHeader)Utils.Clone(this[ii])); + clone.Add((CertificateGroupDataType)Utils.Clone(this[ii])); } return clone; @@ -5540,17 +5598,17 @@ public object Clone() #endif #endregion - #region DataTypeDescription Class - #if (!OPCUA_EXCLUDE_DataTypeDescription) + #region ConfigurationUpdateTargetType Class + #if (!OPCUA_EXCLUDE_ConfigurationUpdateTargetType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataTypeDescription : IEncodeable, IJsonEncodeable + public partial class ConfigurationUpdateTargetType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataTypeDescription() + public ConfigurationUpdateTargetType() { Initialize(); } @@ -5563,49 +5621,49 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_dataTypeId = null; - m_name = null; + m_path = null; + m_updateType = ConfigurationUpdateType.Insert; } #endregion #region Public Properties /// - [DataMember(Name = "DataTypeId", IsRequired = false, Order = 1)] - public NodeId DataTypeId + [DataMember(Name = "Path", IsRequired = false, Order = 1)] + public string Path { - get { return m_dataTypeId; } - set { m_dataTypeId = value; } + get { return m_path; } + set { m_path = value; } } /// - [DataMember(Name = "Name", IsRequired = false, Order = 2)] - public QualifiedName Name + [DataMember(Name = "UpdateType", IsRequired = false, Order = 2)] + public ConfigurationUpdateType UpdateType { - get { return m_name; } - set { m_name = value; } + get { return m_updateType; } + set { m_updateType = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataTypeDescription; + public virtual ExpandedNodeId TypeId => DataTypeIds.ConfigurationUpdateTargetType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ConfigurationUpdateTargetType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ConfigurationUpdateTargetType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ConfigurationUpdateTargetType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("DataTypeId", DataTypeId); - encoder.WriteQualifiedName("Name", Name); + encoder.WriteString("Path", Path); + encoder.WriteEnumerated("UpdateType", UpdateType); encoder.PopNamespace(); } @@ -5615,8 +5673,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataTypeId = decoder.ReadNodeId("DataTypeId"); - Name = decoder.ReadQualifiedName("Name"); + Path = decoder.ReadString("Path"); + UpdateType = (ConfigurationUpdateType)decoder.ReadEnumerated("UpdateType", typeof(ConfigurationUpdateType)); decoder.PopNamespace(); } @@ -5629,15 +5687,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataTypeDescription value = encodeable as DataTypeDescription; + ConfigurationUpdateTargetType value = encodeable as ConfigurationUpdateTargetType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataTypeId, value.m_dataTypeId)) return false; - if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_path, value.m_path)) return false; + if (!Utils.IsEqual(m_updateType, value.m_updateType)) return false; return true; } @@ -5645,59 +5703,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataTypeDescription)this.MemberwiseClone(); + return (ConfigurationUpdateTargetType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataTypeDescription clone = (DataTypeDescription)base.MemberwiseClone(); + ConfigurationUpdateTargetType clone = (ConfigurationUpdateTargetType)base.MemberwiseClone(); - clone.m_dataTypeId = (NodeId)Utils.Clone(this.m_dataTypeId); - clone.m_name = (QualifiedName)Utils.Clone(this.m_name); + clone.m_path = (string)Utils.Clone(this.m_path); + clone.m_updateType = (ConfigurationUpdateType)Utils.Clone(this.m_updateType); return clone; } #endregion #region Private Fields - private NodeId m_dataTypeId; - private QualifiedName m_name; + private string m_path; + private ConfigurationUpdateType m_updateType; #endregion } - #region DataTypeDescriptionCollection Class + #region ConfigurationUpdateTargetTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataTypeDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataTypeDescription")] - public partial class DataTypeDescriptionCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfConfigurationUpdateTargetType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConfigurationUpdateTargetType")] + public partial class ConfigurationUpdateTargetTypeCollection : List, ICloneable { #region Constructors /// - public DataTypeDescriptionCollection() {} + public ConfigurationUpdateTargetTypeCollection() {} /// - public DataTypeDescriptionCollection(int capacity) : base(capacity) {} + public ConfigurationUpdateTargetTypeCollection(int capacity) : base(capacity) {} /// - public DataTypeDescriptionCollection(IEnumerable collection) : base(collection) {} + public ConfigurationUpdateTargetTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataTypeDescriptionCollection(DataTypeDescription[] values) + public static implicit operator ConfigurationUpdateTargetTypeCollection(ConfigurationUpdateTargetType[] values) { if (values != null) { - return new DataTypeDescriptionCollection(values); + return new ConfigurationUpdateTargetTypeCollection(values); } - return new DataTypeDescriptionCollection(); + return new ConfigurationUpdateTargetTypeCollection(); } /// - public static explicit operator DataTypeDescription[](DataTypeDescriptionCollection values) + public static explicit operator ConfigurationUpdateTargetType[](ConfigurationUpdateTargetTypeCollection values) { if (values != null) { @@ -5712,18 +5770,18 @@ public static explicit operator DataTypeDescription[](DataTypeDescriptionCollect /// public object Clone() { - return (DataTypeDescriptionCollection)this.MemberwiseClone(); + return (ConfigurationUpdateTargetTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataTypeDescriptionCollection clone = new DataTypeDescriptionCollection(this.Count); + ConfigurationUpdateTargetTypeCollection clone = new ConfigurationUpdateTargetTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataTypeDescription)Utils.Clone(this[ii])); + clone.Add((ConfigurationUpdateTargetType)Utils.Clone(this[ii])); } return clone; @@ -5733,166 +5791,63 @@ public object Clone() #endif #endregion - #region StructureDescription Class - #if (!OPCUA_EXCLUDE_StructureDescription) + #region ConfigurationUpdateType Enumeration + #if (!OPCUA_EXCLUDE_ConfigurationUpdateType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class StructureDescription : Opc.Ua.DataTypeDescription + public enum ConfigurationUpdateType { - #region Constructors /// - public StructureDescription() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - m_structureDefinition = new StructureDefinition(); - } - #endregion + [EnumMember(Value = "Insert_1")] + Insert = 1, - #region Public Properties /// - [DataMember(Name = "StructureDefinition", IsRequired = false, Order = 1)] - public StructureDefinition StructureDefinition - { - get - { - return m_structureDefinition; - } - - set - { - m_structureDefinition = value; - - if (value == null) - { - m_structureDefinition = new StructureDefinition(); - } - } - } - #endregion - - #region IEncodeable Members - /// - public override ExpandedNodeId TypeId => DataTypeIds.StructureDescription; - - /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.StructureDescription_Encoding_DefaultBinary; - - /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.StructureDescription_Encoding_DefaultXml; - - /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.StructureDescription_Encoding_DefaultJson; - - /// - public override void Encode(IEncoder encoder) - { - base.Encode(encoder); - - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - encoder.WriteEncodeable("StructureDefinition", StructureDefinition, typeof(StructureDefinition)); - - encoder.PopNamespace(); - } - - /// - public override void Decode(IDecoder decoder) - { - base.Decode(decoder); - - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - StructureDefinition = (StructureDefinition)decoder.ReadEncodeable("StructureDefinition", typeof(StructureDefinition)); - - decoder.PopNamespace(); - } - - /// - public override bool IsEqual(IEncodeable encodeable) - { - if (Object.ReferenceEquals(this, encodeable)) - { - return true; - } - - StructureDescription value = encodeable as StructureDescription; - - if (value == null) - { - return false; - } - - if (!Utils.IsEqual(m_structureDefinition, value.m_structureDefinition)) return false; - - return base.IsEqual(encodeable); - } - - /// - public override object Clone() - { - return (StructureDescription)this.MemberwiseClone(); - } - - /// - public new object MemberwiseClone() - { - StructureDescription clone = (StructureDescription)base.MemberwiseClone(); - - clone.m_structureDefinition = (StructureDefinition)Utils.Clone(this.m_structureDefinition); + [EnumMember(Value = "Replace_2")] + Replace = 2, - return clone; - } - #endregion + /// + [EnumMember(Value = "InsertOrReplace_3")] + InsertOrReplace = 3, - #region Private Fields - private StructureDefinition m_structureDefinition; - #endregion + /// + [EnumMember(Value = "Delete_4")] + Delete = 4, } - #region StructureDescriptionCollection Class + #region ConfigurationUpdateTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfStructureDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StructureDescription")] - public partial class StructureDescriptionCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfConfigurationUpdateType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConfigurationUpdateType")] + public partial class ConfigurationUpdateTypeCollection : List, ICloneable { #region Constructors /// - public StructureDescriptionCollection() {} + public ConfigurationUpdateTypeCollection() {} /// - public StructureDescriptionCollection(int capacity) : base(capacity) {} + public ConfigurationUpdateTypeCollection(int capacity) : base(capacity) {} /// - public StructureDescriptionCollection(IEnumerable collection) : base(collection) {} + public ConfigurationUpdateTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator StructureDescriptionCollection(StructureDescription[] values) + public static implicit operator ConfigurationUpdateTypeCollection(ConfigurationUpdateType[] values) { if (values != null) { - return new StructureDescriptionCollection(values); + return new ConfigurationUpdateTypeCollection(values); } - return new StructureDescriptionCollection(); + return new ConfigurationUpdateTypeCollection(); } /// - public static explicit operator StructureDescription[](StructureDescriptionCollection values) + public static explicit operator ConfigurationUpdateType[](ConfigurationUpdateTypeCollection values) { if (values != null) { @@ -5907,18 +5862,18 @@ public static explicit operator StructureDescription[](StructureDescriptionColle /// public object Clone() { - return (StructureDescriptionCollection)this.MemberwiseClone(); + return (ConfigurationUpdateTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - StructureDescriptionCollection clone = new StructureDescriptionCollection(this.Count); + ConfigurationUpdateTypeCollection clone = new ConfigurationUpdateTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((StructureDescription)Utils.Clone(this[ii])); + clone.Add((ConfigurationUpdateType)Utils.Clone(this[ii])); } return clone; @@ -5928,180 +5883,178 @@ public object Clone() #endif #endregion - #region EnumDescription Class - #if (!OPCUA_EXCLUDE_EnumDescription) + #region TransactionErrorType Class + #if (!OPCUA_EXCLUDE_TransactionErrorType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class EnumDescription : Opc.Ua.DataTypeDescription + public partial class TransactionErrorType : IEncodeable, IJsonEncodeable { #region Constructors /// - public EnumDescription() + public TransactionErrorType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_enumDefinition = new EnumDefinition(); - m_builtInType = (byte)0; + m_targetId = null; + m_error = StatusCodes.Good; + m_message = null; } #endregion #region Public Properties /// - [DataMember(Name = "EnumDefinition", IsRequired = false, Order = 1)] - public EnumDefinition EnumDefinition + [DataMember(Name = "TargetId", IsRequired = false, Order = 1)] + public NodeId TargetId { - get - { - return m_enumDefinition; - } - - set - { - m_enumDefinition = value; + get { return m_targetId; } + set { m_targetId = value; } + } - if (value == null) - { - m_enumDefinition = new EnumDefinition(); - } - } + /// + [DataMember(Name = "Error", IsRequired = false, Order = 2)] + public StatusCode Error + { + get { return m_error; } + set { m_error = value; } } /// - [DataMember(Name = "BuiltInType", IsRequired = false, Order = 2)] - public byte BuiltInType + [DataMember(Name = "Message", IsRequired = false, Order = 3)] + public LocalizedText Message { - get { return m_builtInType; } - set { m_builtInType = value; } + get { return m_message; } + set { m_message = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.EnumDescription; + public virtual ExpandedNodeId TypeId => DataTypeIds.TransactionErrorType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.EnumDescription_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.EnumDescription_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.EnumDescription_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.TransactionErrorType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeable("EnumDefinition", EnumDefinition, typeof(EnumDefinition)); - encoder.WriteByte("BuiltInType", BuiltInType); + encoder.WriteNodeId("TargetId", TargetId); + encoder.WriteStatusCode("Error", Error); + encoder.WriteLocalizedText("Message", Message); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - EnumDefinition = (EnumDefinition)decoder.ReadEncodeable("EnumDefinition", typeof(EnumDefinition)); - BuiltInType = decoder.ReadByte("BuiltInType"); + TargetId = decoder.ReadNodeId("TargetId"); + Error = decoder.ReadStatusCode("Error"); + Message = decoder.ReadLocalizedText("Message"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - EnumDescription value = encodeable as EnumDescription; + TransactionErrorType value = encodeable as TransactionErrorType; if (value == null) { return false; } - if (!Utils.IsEqual(m_enumDefinition, value.m_enumDefinition)) return false; - if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; + if (!Utils.IsEqual(m_targetId, value.m_targetId)) return false; + if (!Utils.IsEqual(m_error, value.m_error)) return false; + if (!Utils.IsEqual(m_message, value.m_message)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (EnumDescription)this.MemberwiseClone(); + return (TransactionErrorType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - EnumDescription clone = (EnumDescription)base.MemberwiseClone(); + TransactionErrorType clone = (TransactionErrorType)base.MemberwiseClone(); - clone.m_enumDefinition = (EnumDefinition)Utils.Clone(this.m_enumDefinition); - clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); + clone.m_targetId = (NodeId)Utils.Clone(this.m_targetId); + clone.m_error = (StatusCode)Utils.Clone(this.m_error); + clone.m_message = (LocalizedText)Utils.Clone(this.m_message); return clone; } #endregion #region Private Fields - private EnumDefinition m_enumDefinition; - private byte m_builtInType; + private NodeId m_targetId; + private StatusCode m_error; + private LocalizedText m_message; #endregion } - #region EnumDescriptionCollection Class + #region TransactionErrorTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfEnumDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "EnumDescription")] - public partial class EnumDescriptionCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTransactionErrorType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransactionErrorType")] + public partial class TransactionErrorTypeCollection : List, ICloneable { #region Constructors /// - public EnumDescriptionCollection() {} + public TransactionErrorTypeCollection() {} /// - public EnumDescriptionCollection(int capacity) : base(capacity) {} + public TransactionErrorTypeCollection(int capacity) : base(capacity) {} /// - public EnumDescriptionCollection(IEnumerable collection) : base(collection) {} + public TransactionErrorTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator EnumDescriptionCollection(EnumDescription[] values) + public static implicit operator TransactionErrorTypeCollection(TransactionErrorType[] values) { if (values != null) { - return new EnumDescriptionCollection(values); + return new TransactionErrorTypeCollection(values); } - return new EnumDescriptionCollection(); + return new TransactionErrorTypeCollection(); } /// - public static explicit operator EnumDescription[](EnumDescriptionCollection values) + public static explicit operator TransactionErrorType[](TransactionErrorTypeCollection values) { if (values != null) { @@ -6116,18 +6069,18 @@ public static explicit operator EnumDescription[](EnumDescriptionCollection valu /// public object Clone() { - return (EnumDescriptionCollection)this.MemberwiseClone(); + return (TransactionErrorTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - EnumDescriptionCollection clone = new EnumDescriptionCollection(this.Count); + TransactionErrorTypeCollection clone = new TransactionErrorTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((EnumDescription)Utils.Clone(this[ii])); + clone.Add((TransactionErrorType)Utils.Clone(this[ii])); } return clone; @@ -6137,17 +6090,17 @@ public object Clone() #endif #endregion - #region SimpleTypeDescription Class - #if (!OPCUA_EXCLUDE_SimpleTypeDescription) + #region ApplicationConfigurationDataType Class + #if (!OPCUA_EXCLUDE_ApplicationConfigurationDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class SimpleTypeDescription : Opc.Ua.DataTypeDescription + public partial class ApplicationConfigurationDataType : Opc.Ua.BaseConfigurationDataType { #region Constructors /// - public SimpleTypeDescription() + public ApplicationConfigurationDataType() { Initialize(); } @@ -6160,41 +6113,170 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_baseDataType = null; - m_builtInType = (byte)0; + m_applicationIdentity = new ApplicationIdentityDataType(); + m_certificateGroups = new CertificateGroupDataTypeCollection(); + m_serverEndpoints = new ServerEndpointDataTypeCollection(); + m_clientEndpoints = new EndpointDataTypeCollection(); + m_securitySettings = new SecuritySettingsDataTypeCollection(); + m_userTokenSettings = new UserTokenSettingsDataTypeCollection(); + m_authorizationServices = new AuthorizationServiceConfigurationDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "BaseDataType", IsRequired = false, Order = 1)] - public NodeId BaseDataType + [DataMember(Name = "ApplicationIdentity", IsRequired = false, Order = 1)] + public ApplicationIdentityDataType ApplicationIdentity { - get { return m_baseDataType; } - set { m_baseDataType = value; } + get + { + return m_applicationIdentity; + } + + set + { + m_applicationIdentity = value; + + if (value == null) + { + m_applicationIdentity = new ApplicationIdentityDataType(); + } + } } /// - [DataMember(Name = "BuiltInType", IsRequired = false, Order = 2)] - public byte BuiltInType + [DataMember(Name = "CertificateGroups", IsRequired = false, Order = 2)] + public CertificateGroupDataTypeCollection CertificateGroups { - get { return m_builtInType; } - set { m_builtInType = value; } + get + { + return m_certificateGroups; + } + + set + { + m_certificateGroups = value; + + if (value == null) + { + m_certificateGroups = new CertificateGroupDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "ServerEndpoints", IsRequired = false, Order = 3)] + public ServerEndpointDataTypeCollection ServerEndpoints + { + get + { + return m_serverEndpoints; + } + + set + { + m_serverEndpoints = value; + + if (value == null) + { + m_serverEndpoints = new ServerEndpointDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "ClientEndpoints", IsRequired = false, Order = 4)] + public EndpointDataTypeCollection ClientEndpoints + { + get + { + return m_clientEndpoints; + } + + set + { + m_clientEndpoints = value; + + if (value == null) + { + m_clientEndpoints = new EndpointDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "SecuritySettings", IsRequired = false, Order = 5)] + public SecuritySettingsDataTypeCollection SecuritySettings + { + get + { + return m_securitySettings; + } + + set + { + m_securitySettings = value; + + if (value == null) + { + m_securitySettings = new SecuritySettingsDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "UserTokenSettings", IsRequired = false, Order = 6)] + public UserTokenSettingsDataTypeCollection UserTokenSettings + { + get + { + return m_userTokenSettings; + } + + set + { + m_userTokenSettings = value; + + if (value == null) + { + m_userTokenSettings = new UserTokenSettingsDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "AuthorizationServices", IsRequired = false, Order = 7)] + public AuthorizationServiceConfigurationDataTypeCollection AuthorizationServices + { + get + { + return m_authorizationServices; + } + + set + { + m_authorizationServices = value; + + if (value == null) + { + m_authorizationServices = new AuthorizationServiceConfigurationDataTypeCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.SimpleTypeDescription; + public override ExpandedNodeId TypeId => DataTypeIds.ApplicationConfigurationDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ApplicationConfigurationDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.ApplicationConfigurationDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.ApplicationConfigurationDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -6203,8 +6285,13 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("BaseDataType", BaseDataType); - encoder.WriteByte("BuiltInType", BuiltInType); + encoder.WriteEncodeable("ApplicationIdentity", ApplicationIdentity, typeof(ApplicationIdentityDataType)); + encoder.WriteEncodeableArray("CertificateGroups", CertificateGroups.ToArray(), typeof(CertificateGroupDataType)); + encoder.WriteEncodeableArray("ServerEndpoints", ServerEndpoints.ToArray(), typeof(ServerEndpointDataType)); + encoder.WriteEncodeableArray("ClientEndpoints", ClientEndpoints.ToArray(), typeof(EndpointDataType)); + encoder.WriteEncodeableArray("SecuritySettings", SecuritySettings.ToArray(), typeof(SecuritySettingsDataType)); + encoder.WriteEncodeableArray("UserTokenSettings", UserTokenSettings.ToArray(), typeof(UserTokenSettingsDataType)); + encoder.WriteEncodeableArray("AuthorizationServices", AuthorizationServices.ToArray(), typeof(AuthorizationServiceConfigurationDataType)); encoder.PopNamespace(); } @@ -6216,8 +6303,13 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - BaseDataType = decoder.ReadNodeId("BaseDataType"); - BuiltInType = decoder.ReadByte("BuiltInType"); + ApplicationIdentity = (ApplicationIdentityDataType)decoder.ReadEncodeable("ApplicationIdentity", typeof(ApplicationIdentityDataType)); + CertificateGroups = (CertificateGroupDataTypeCollection)decoder.ReadEncodeableArray("CertificateGroups", typeof(CertificateGroupDataType)); + ServerEndpoints = (ServerEndpointDataTypeCollection)decoder.ReadEncodeableArray("ServerEndpoints", typeof(ServerEndpointDataType)); + ClientEndpoints = (EndpointDataTypeCollection)decoder.ReadEncodeableArray("ClientEndpoints", typeof(EndpointDataType)); + SecuritySettings = (SecuritySettingsDataTypeCollection)decoder.ReadEncodeableArray("SecuritySettings", typeof(SecuritySettingsDataType)); + UserTokenSettings = (UserTokenSettingsDataTypeCollection)decoder.ReadEncodeableArray("UserTokenSettings", typeof(UserTokenSettingsDataType)); + AuthorizationServices = (AuthorizationServiceConfigurationDataTypeCollection)decoder.ReadEncodeableArray("AuthorizationServices", typeof(AuthorizationServiceConfigurationDataType)); decoder.PopNamespace(); } @@ -6230,15 +6322,20 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - SimpleTypeDescription value = encodeable as SimpleTypeDescription; + ApplicationConfigurationDataType value = encodeable as ApplicationConfigurationDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_baseDataType, value.m_baseDataType)) return false; - if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; + if (!Utils.IsEqual(m_applicationIdentity, value.m_applicationIdentity)) return false; + if (!Utils.IsEqual(m_certificateGroups, value.m_certificateGroups)) return false; + if (!Utils.IsEqual(m_serverEndpoints, value.m_serverEndpoints)) return false; + if (!Utils.IsEqual(m_clientEndpoints, value.m_clientEndpoints)) return false; + if (!Utils.IsEqual(m_securitySettings, value.m_securitySettings)) return false; + if (!Utils.IsEqual(m_userTokenSettings, value.m_userTokenSettings)) return false; + if (!Utils.IsEqual(m_authorizationServices, value.m_authorizationServices)) return false; return base.IsEqual(encodeable); } @@ -6246,59 +6343,69 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (SimpleTypeDescription)this.MemberwiseClone(); + return (ApplicationConfigurationDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - SimpleTypeDescription clone = (SimpleTypeDescription)base.MemberwiseClone(); + ApplicationConfigurationDataType clone = (ApplicationConfigurationDataType)base.MemberwiseClone(); - clone.m_baseDataType = (NodeId)Utils.Clone(this.m_baseDataType); - clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); + clone.m_applicationIdentity = (ApplicationIdentityDataType)Utils.Clone(this.m_applicationIdentity); + clone.m_certificateGroups = (CertificateGroupDataTypeCollection)Utils.Clone(this.m_certificateGroups); + clone.m_serverEndpoints = (ServerEndpointDataTypeCollection)Utils.Clone(this.m_serverEndpoints); + clone.m_clientEndpoints = (EndpointDataTypeCollection)Utils.Clone(this.m_clientEndpoints); + clone.m_securitySettings = (SecuritySettingsDataTypeCollection)Utils.Clone(this.m_securitySettings); + clone.m_userTokenSettings = (UserTokenSettingsDataTypeCollection)Utils.Clone(this.m_userTokenSettings); + clone.m_authorizationServices = (AuthorizationServiceConfigurationDataTypeCollection)Utils.Clone(this.m_authorizationServices); return clone; } #endregion #region Private Fields - private NodeId m_baseDataType; - private byte m_builtInType; + private ApplicationIdentityDataType m_applicationIdentity; + private CertificateGroupDataTypeCollection m_certificateGroups; + private ServerEndpointDataTypeCollection m_serverEndpoints; + private EndpointDataTypeCollection m_clientEndpoints; + private SecuritySettingsDataTypeCollection m_securitySettings; + private UserTokenSettingsDataTypeCollection m_userTokenSettings; + private AuthorizationServiceConfigurationDataTypeCollection m_authorizationServices; #endregion } - #region SimpleTypeDescriptionCollection Class + #region ApplicationConfigurationDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfSimpleTypeDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SimpleTypeDescription")] - public partial class SimpleTypeDescriptionCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfApplicationConfigurationDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ApplicationConfigurationDataType")] + public partial class ApplicationConfigurationDataTypeCollection : List, ICloneable { #region Constructors /// - public SimpleTypeDescriptionCollection() {} + public ApplicationConfigurationDataTypeCollection() {} /// - public SimpleTypeDescriptionCollection(int capacity) : base(capacity) {} + public ApplicationConfigurationDataTypeCollection(int capacity) : base(capacity) {} /// - public SimpleTypeDescriptionCollection(IEnumerable collection) : base(collection) {} + public ApplicationConfigurationDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator SimpleTypeDescriptionCollection(SimpleTypeDescription[] values) + public static implicit operator ApplicationConfigurationDataTypeCollection(ApplicationConfigurationDataType[] values) { if (values != null) { - return new SimpleTypeDescriptionCollection(values); + return new ApplicationConfigurationDataTypeCollection(values); } - return new SimpleTypeDescriptionCollection(); + return new ApplicationConfigurationDataTypeCollection(); } /// - public static explicit operator SimpleTypeDescription[](SimpleTypeDescriptionCollection values) + public static explicit operator ApplicationConfigurationDataType[](ApplicationConfigurationDataTypeCollection values) { if (values != null) { @@ -6313,18 +6420,18 @@ public static explicit operator SimpleTypeDescription[](SimpleTypeDescriptionCol /// public object Clone() { - return (SimpleTypeDescriptionCollection)this.MemberwiseClone(); + return (ApplicationConfigurationDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - SimpleTypeDescriptionCollection clone = new SimpleTypeDescriptionCollection(this.Count); + ApplicationConfigurationDataTypeCollection clone = new ApplicationConfigurationDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((SimpleTypeDescription)Utils.Clone(this[ii])); + clone.Add((ApplicationConfigurationDataType)Utils.Clone(this[ii])); } return clone; @@ -6334,17 +6441,17 @@ public object Clone() #endif #endregion - #region UABinaryFileDataType Class - #if (!OPCUA_EXCLUDE_UABinaryFileDataType) + #region ApplicationIdentityDataType Class + #if (!OPCUA_EXCLUDE_ApplicationIdentityDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UABinaryFileDataType : Opc.Ua.DataTypeSchemaHeader + public partial class ApplicationIdentityDataType : Opc.Ua.BaseConfigurationRecordDataType { #region Constructors /// - public UABinaryFileDataType() + public ApplicationIdentityDataType() { Initialize(); } @@ -6357,62 +6464,74 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_schemaLocation = null; - m_fileHeader = new KeyValuePairCollection(); - m_body = Variant.Null; + m_applicationUri = null; + m_applicationNames = new LocalizedTextCollection(); + m_additionalServers = new ApplicationDescriptionCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "SchemaLocation", IsRequired = false, Order = 1)] - public string SchemaLocation + [DataMember(Name = "ApplicationUri", IsRequired = false, Order = 1)] + public string ApplicationUri { - get { return m_schemaLocation; } - set { m_schemaLocation = value; } + get { return m_applicationUri; } + set { m_applicationUri = value; } } /// - [DataMember(Name = "FileHeader", IsRequired = false, Order = 2)] - public KeyValuePairCollection FileHeader + [DataMember(Name = "ApplicationNames", IsRequired = false, Order = 2)] + public LocalizedTextCollection ApplicationNames { get { - return m_fileHeader; + return m_applicationNames; } set { - m_fileHeader = value; + m_applicationNames = value; if (value == null) { - m_fileHeader = new KeyValuePairCollection(); + m_applicationNames = new LocalizedTextCollection(); } } } /// - [DataMember(Name = "Body", IsRequired = false, Order = 3)] - public Variant Body + [DataMember(Name = "AdditionalServers", IsRequired = false, Order = 3)] + public ApplicationDescriptionCollection AdditionalServers { - get { return m_body; } - set { m_body = value; } + get + { + return m_additionalServers; + } + + set + { + m_additionalServers = value; + + if (value == null) + { + m_additionalServers = new ApplicationDescriptionCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.UABinaryFileDataType; + public override ExpandedNodeId TypeId => DataTypeIds.ApplicationIdentityDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ApplicationIdentityDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.ApplicationIdentityDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.ApplicationIdentityDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -6421,9 +6540,9 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("SchemaLocation", SchemaLocation); - encoder.WriteEncodeableArray("FileHeader", FileHeader.ToArray(), typeof(KeyValuePair)); - encoder.WriteVariant("Body", Body); + encoder.WriteString("ApplicationUri", ApplicationUri); + encoder.WriteLocalizedTextArray("ApplicationNames", ApplicationNames); + encoder.WriteEncodeableArray("AdditionalServers", AdditionalServers.ToArray(), typeof(ApplicationDescription)); encoder.PopNamespace(); } @@ -6435,9 +6554,9 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - SchemaLocation = decoder.ReadString("SchemaLocation"); - FileHeader = (KeyValuePairCollection)decoder.ReadEncodeableArray("FileHeader", typeof(KeyValuePair)); - Body = decoder.ReadVariant("Body"); + ApplicationUri = decoder.ReadString("ApplicationUri"); + ApplicationNames = decoder.ReadLocalizedTextArray("ApplicationNames"); + AdditionalServers = (ApplicationDescriptionCollection)decoder.ReadEncodeableArray("AdditionalServers", typeof(ApplicationDescription)); decoder.PopNamespace(); } @@ -6450,16 +6569,16 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - UABinaryFileDataType value = encodeable as UABinaryFileDataType; + ApplicationIdentityDataType value = encodeable as ApplicationIdentityDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_schemaLocation, value.m_schemaLocation)) return false; - if (!Utils.IsEqual(m_fileHeader, value.m_fileHeader)) return false; - if (!Utils.IsEqual(m_body, value.m_body)) return false; + if (!Utils.IsEqual(m_applicationUri, value.m_applicationUri)) return false; + if (!Utils.IsEqual(m_applicationNames, value.m_applicationNames)) return false; + if (!Utils.IsEqual(m_additionalServers, value.m_additionalServers)) return false; return base.IsEqual(encodeable); } @@ -6467,61 +6586,61 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (UABinaryFileDataType)this.MemberwiseClone(); + return (ApplicationIdentityDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - UABinaryFileDataType clone = (UABinaryFileDataType)base.MemberwiseClone(); + ApplicationIdentityDataType clone = (ApplicationIdentityDataType)base.MemberwiseClone(); - clone.m_schemaLocation = (string)Utils.Clone(this.m_schemaLocation); - clone.m_fileHeader = (KeyValuePairCollection)Utils.Clone(this.m_fileHeader); - clone.m_body = (Variant)Utils.Clone(this.m_body); + clone.m_applicationUri = (string)Utils.Clone(this.m_applicationUri); + clone.m_applicationNames = (LocalizedTextCollection)Utils.Clone(this.m_applicationNames); + clone.m_additionalServers = (ApplicationDescriptionCollection)Utils.Clone(this.m_additionalServers); return clone; } #endregion #region Private Fields - private string m_schemaLocation; - private KeyValuePairCollection m_fileHeader; - private Variant m_body; + private string m_applicationUri; + private LocalizedTextCollection m_applicationNames; + private ApplicationDescriptionCollection m_additionalServers; #endregion } - #region UABinaryFileDataTypeCollection Class + #region ApplicationIdentityDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUABinaryFileDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UABinaryFileDataType")] - public partial class UABinaryFileDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfApplicationIdentityDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ApplicationIdentityDataType")] + public partial class ApplicationIdentityDataTypeCollection : List, ICloneable { #region Constructors /// - public UABinaryFileDataTypeCollection() {} + public ApplicationIdentityDataTypeCollection() {} /// - public UABinaryFileDataTypeCollection(int capacity) : base(capacity) {} + public ApplicationIdentityDataTypeCollection(int capacity) : base(capacity) {} /// - public UABinaryFileDataTypeCollection(IEnumerable collection) : base(collection) {} + public ApplicationIdentityDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UABinaryFileDataTypeCollection(UABinaryFileDataType[] values) + public static implicit operator ApplicationIdentityDataTypeCollection(ApplicationIdentityDataType[] values) { if (values != null) { - return new UABinaryFileDataTypeCollection(values); + return new ApplicationIdentityDataTypeCollection(values); } - return new UABinaryFileDataTypeCollection(); + return new ApplicationIdentityDataTypeCollection(); } /// - public static explicit operator UABinaryFileDataType[](UABinaryFileDataTypeCollection values) + public static explicit operator ApplicationIdentityDataType[](ApplicationIdentityDataTypeCollection values) { if (values != null) { @@ -6536,18 +6655,18 @@ public static explicit operator UABinaryFileDataType[](UABinaryFileDataTypeColle /// public object Clone() { - return (UABinaryFileDataTypeCollection)this.MemberwiseClone(); + return (ApplicationIdentityDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UABinaryFileDataTypeCollection clone = new UABinaryFileDataTypeCollection(this.Count); + ApplicationIdentityDataTypeCollection clone = new ApplicationIdentityDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UABinaryFileDataType)Utils.Clone(this[ii])); + clone.Add((ApplicationIdentityDataType)Utils.Clone(this[ii])); } return clone; @@ -6557,164 +6676,194 @@ public object Clone() #endif #endregion - #region PortableQualifiedName Class - #if (!OPCUA_EXCLUDE_PortableQualifiedName) + #region EndpointDataType Class + #if (!OPCUA_EXCLUDE_EndpointDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PortableQualifiedName : IEncodeable, IJsonEncodeable + public partial class EndpointDataType : Opc.Ua.BaseConfigurationRecordDataType { #region Constructors /// - public PortableQualifiedName() + public EndpointDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_namespaceUri = null; - m_name = null; + m_discoveryUrls = new StringCollection(); + m_networkName = null; + m_port = (ushort)0; } #endregion #region Public Properties /// - [DataMember(Name = "NamespaceUri", IsRequired = false, Order = 1)] - public string NamespaceUri + [DataMember(Name = "DiscoveryUrls", IsRequired = false, Order = 1)] + public StringCollection DiscoveryUrls { - get { return m_namespaceUri; } - set { m_namespaceUri = value; } + get + { + return m_discoveryUrls; + } + + set + { + m_discoveryUrls = value; + + if (value == null) + { + m_discoveryUrls = new StringCollection(); + } + } } /// - [DataMember(Name = "Name", IsRequired = false, Order = 2)] - public string Name + [DataMember(Name = "NetworkName", IsRequired = false, Order = 2)] + public string NetworkName { - get { return m_name; } - set { m_name = value; } + get { return m_networkName; } + set { m_networkName = value; } + } + + /// + [DataMember(Name = "Port", IsRequired = false, Order = 3)] + public ushort Port + { + get { return m_port; } + set { m_port = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PortableQualifiedName; + public override ExpandedNodeId TypeId => DataTypeIds.EndpointDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.EndpointDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.EndpointDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.EndpointDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("NamespaceUri", NamespaceUri); - encoder.WriteString("Name", Name); + encoder.WriteStringArray("DiscoveryUrls", DiscoveryUrls); + encoder.WriteString("NetworkName", NetworkName); + encoder.WriteUInt16("Port", Port); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - NamespaceUri = decoder.ReadString("NamespaceUri"); - Name = decoder.ReadString("Name"); + DiscoveryUrls = decoder.ReadStringArray("DiscoveryUrls"); + NetworkName = decoder.ReadString("NetworkName"); + Port = decoder.ReadUInt16("Port"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PortableQualifiedName value = encodeable as PortableQualifiedName; + EndpointDataType value = encodeable as EndpointDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_namespaceUri, value.m_namespaceUri)) return false; - if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_discoveryUrls, value.m_discoveryUrls)) return false; + if (!Utils.IsEqual(m_networkName, value.m_networkName)) return false; + if (!Utils.IsEqual(m_port, value.m_port)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PortableQualifiedName)this.MemberwiseClone(); + return (EndpointDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PortableQualifiedName clone = (PortableQualifiedName)base.MemberwiseClone(); + EndpointDataType clone = (EndpointDataType)base.MemberwiseClone(); - clone.m_namespaceUri = (string)Utils.Clone(this.m_namespaceUri); - clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_discoveryUrls = (StringCollection)Utils.Clone(this.m_discoveryUrls); + clone.m_networkName = (string)Utils.Clone(this.m_networkName); + clone.m_port = (ushort)Utils.Clone(this.m_port); return clone; } #endregion #region Private Fields - private string m_namespaceUri; - private string m_name; + private StringCollection m_discoveryUrls; + private string m_networkName; + private ushort m_port; #endregion } - #region PortableQualifiedNameCollection Class + #region EndpointDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPortableQualifiedName", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortableQualifiedName")] - public partial class PortableQualifiedNameCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfEndpointDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "EndpointDataType")] + public partial class EndpointDataTypeCollection : List, ICloneable { #region Constructors /// - public PortableQualifiedNameCollection() {} + public EndpointDataTypeCollection() {} /// - public PortableQualifiedNameCollection(int capacity) : base(capacity) {} + public EndpointDataTypeCollection(int capacity) : base(capacity) {} /// - public PortableQualifiedNameCollection(IEnumerable collection) : base(collection) {} + public EndpointDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PortableQualifiedNameCollection(PortableQualifiedName[] values) + public static implicit operator EndpointDataTypeCollection(EndpointDataType[] values) { if (values != null) { - return new PortableQualifiedNameCollection(values); + return new EndpointDataTypeCollection(values); } - return new PortableQualifiedNameCollection(); + return new EndpointDataTypeCollection(); } /// - public static explicit operator PortableQualifiedName[](PortableQualifiedNameCollection values) + public static explicit operator EndpointDataType[](EndpointDataTypeCollection values) { if (values != null) { @@ -6729,18 +6878,18 @@ public static explicit operator PortableQualifiedName[](PortableQualifiedNameCol /// public object Clone() { - return (PortableQualifiedNameCollection)this.MemberwiseClone(); + return (EndpointDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PortableQualifiedNameCollection clone = new PortableQualifiedNameCollection(this.Count); + EndpointDataTypeCollection clone = new EndpointDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PortableQualifiedName)Utils.Clone(this[ii])); + clone.Add((EndpointDataType)Utils.Clone(this[ii])); } return clone; @@ -6750,164 +6899,258 @@ public object Clone() #endif #endregion - #region PortableNodeId Class - #if (!OPCUA_EXCLUDE_PortableNodeId) + #region ServerEndpointDataType Class + #if (!OPCUA_EXCLUDE_ServerEndpointDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PortableNodeId : IEncodeable, IJsonEncodeable + public partial class ServerEndpointDataType : Opc.Ua.EndpointDataType { #region Constructors /// - public PortableNodeId() + public ServerEndpointDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_namespaceUri = null; - m_identifier = null; + m_endpointUrls = new StringCollection(); + m_securitySettingNames = new StringCollection(); + m_transportProfileUri = null; + m_userTokenSettingNames = new StringCollection(); + m_reverseConnectUrls = new StringCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "NamespaceUri", IsRequired = false, Order = 1)] - public string NamespaceUri + [DataMember(Name = "EndpointUrls", IsRequired = false, Order = 1)] + public StringCollection EndpointUrls { - get { return m_namespaceUri; } - set { m_namespaceUri = value; } + get + { + return m_endpointUrls; + } + + set + { + m_endpointUrls = value; + + if (value == null) + { + m_endpointUrls = new StringCollection(); + } + } } /// - [DataMember(Name = "Identifier", IsRequired = false, Order = 2)] - public NodeId Identifier + [DataMember(Name = "SecuritySettingNames", IsRequired = false, Order = 2)] + public StringCollection SecuritySettingNames { - get { return m_identifier; } - set { m_identifier = value; } + get + { + return m_securitySettingNames; + } + + set + { + m_securitySettingNames = value; + + if (value == null) + { + m_securitySettingNames = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "TransportProfileUri", IsRequired = false, Order = 3)] + public string TransportProfileUri + { + get { return m_transportProfileUri; } + set { m_transportProfileUri = value; } + } + + /// + [DataMember(Name = "UserTokenSettingNames", IsRequired = false, Order = 4)] + public StringCollection UserTokenSettingNames + { + get + { + return m_userTokenSettingNames; + } + + set + { + m_userTokenSettingNames = value; + + if (value == null) + { + m_userTokenSettingNames = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "ReverseConnectUrls", IsRequired = false, Order = 5)] + public StringCollection ReverseConnectUrls + { + get + { + return m_reverseConnectUrls; + } + + set + { + m_reverseConnectUrls = value; + + if (value == null) + { + m_reverseConnectUrls = new StringCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PortableNodeId; + public override ExpandedNodeId TypeId => DataTypeIds.ServerEndpointDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ServerEndpointDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.ServerEndpointDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.ServerEndpointDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("NamespaceUri", NamespaceUri); - encoder.WriteNodeId("Identifier", Identifier); + encoder.WriteStringArray("EndpointUrls", EndpointUrls); + encoder.WriteStringArray("SecuritySettingNames", SecuritySettingNames); + encoder.WriteString("TransportProfileUri", TransportProfileUri); + encoder.WriteStringArray("UserTokenSettingNames", UserTokenSettingNames); + encoder.WriteStringArray("ReverseConnectUrls", ReverseConnectUrls); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - NamespaceUri = decoder.ReadString("NamespaceUri"); - Identifier = decoder.ReadNodeId("Identifier"); + EndpointUrls = decoder.ReadStringArray("EndpointUrls"); + SecuritySettingNames = decoder.ReadStringArray("SecuritySettingNames"); + TransportProfileUri = decoder.ReadString("TransportProfileUri"); + UserTokenSettingNames = decoder.ReadStringArray("UserTokenSettingNames"); + ReverseConnectUrls = decoder.ReadStringArray("ReverseConnectUrls"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PortableNodeId value = encodeable as PortableNodeId; + ServerEndpointDataType value = encodeable as ServerEndpointDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_namespaceUri, value.m_namespaceUri)) return false; - if (!Utils.IsEqual(m_identifier, value.m_identifier)) return false; + if (!Utils.IsEqual(m_endpointUrls, value.m_endpointUrls)) return false; + if (!Utils.IsEqual(m_securitySettingNames, value.m_securitySettingNames)) return false; + if (!Utils.IsEqual(m_transportProfileUri, value.m_transportProfileUri)) return false; + if (!Utils.IsEqual(m_userTokenSettingNames, value.m_userTokenSettingNames)) return false; + if (!Utils.IsEqual(m_reverseConnectUrls, value.m_reverseConnectUrls)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PortableNodeId)this.MemberwiseClone(); + return (ServerEndpointDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PortableNodeId clone = (PortableNodeId)base.MemberwiseClone(); + ServerEndpointDataType clone = (ServerEndpointDataType)base.MemberwiseClone(); - clone.m_namespaceUri = (string)Utils.Clone(this.m_namespaceUri); - clone.m_identifier = (NodeId)Utils.Clone(this.m_identifier); + clone.m_endpointUrls = (StringCollection)Utils.Clone(this.m_endpointUrls); + clone.m_securitySettingNames = (StringCollection)Utils.Clone(this.m_securitySettingNames); + clone.m_transportProfileUri = (string)Utils.Clone(this.m_transportProfileUri); + clone.m_userTokenSettingNames = (StringCollection)Utils.Clone(this.m_userTokenSettingNames); + clone.m_reverseConnectUrls = (StringCollection)Utils.Clone(this.m_reverseConnectUrls); return clone; } #endregion #region Private Fields - private string m_namespaceUri; - private NodeId m_identifier; + private StringCollection m_endpointUrls; + private StringCollection m_securitySettingNames; + private string m_transportProfileUri; + private StringCollection m_userTokenSettingNames; + private StringCollection m_reverseConnectUrls; #endregion } - #region PortableNodeIdCollection Class + #region ServerEndpointDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPortableNodeId", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortableNodeId")] - public partial class PortableNodeIdCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfServerEndpointDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ServerEndpointDataType")] + public partial class ServerEndpointDataTypeCollection : List, ICloneable { #region Constructors /// - public PortableNodeIdCollection() {} + public ServerEndpointDataTypeCollection() {} /// - public PortableNodeIdCollection(int capacity) : base(capacity) {} + public ServerEndpointDataTypeCollection(int capacity) : base(capacity) {} /// - public PortableNodeIdCollection(IEnumerable collection) : base(collection) {} + public ServerEndpointDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PortableNodeIdCollection(PortableNodeId[] values) + public static implicit operator ServerEndpointDataTypeCollection(ServerEndpointDataType[] values) { if (values != null) { - return new PortableNodeIdCollection(values); + return new ServerEndpointDataTypeCollection(values); } - return new PortableNodeIdCollection(); + return new ServerEndpointDataTypeCollection(); } /// - public static explicit operator PortableNodeId[](PortableNodeIdCollection values) + public static explicit operator ServerEndpointDataType[](ServerEndpointDataTypeCollection values) { if (values != null) { @@ -6922,18 +7165,18 @@ public static explicit operator PortableNodeId[](PortableNodeIdCollection values /// public object Clone() { - return (PortableNodeIdCollection)this.MemberwiseClone(); + return (ServerEndpointDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PortableNodeIdCollection clone = new PortableNodeIdCollection(this.Count); + ServerEndpointDataTypeCollection clone = new ServerEndpointDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PortableNodeId)Utils.Clone(this[ii])); + clone.Add((ServerEndpointDataType)Utils.Clone(this[ii])); } return clone; @@ -6943,164 +7186,206 @@ public object Clone() #endif #endregion - #region UnsignedRationalNumber Class - #if (!OPCUA_EXCLUDE_UnsignedRationalNumber) + #region SecuritySettingsDataType Class + #if (!OPCUA_EXCLUDE_SecuritySettingsDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UnsignedRationalNumber : IEncodeable, IJsonEncodeable + public partial class SecuritySettingsDataType : Opc.Ua.BaseConfigurationRecordDataType { #region Constructors /// - public UnsignedRationalNumber() + public SecuritySettingsDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_numerator = (uint)0; - m_denominator = (uint)0; + m_securityModes = new MessageSecurityModeCollection(); + m_securityPolicyUris = new StringCollection(); + m_certificateGroupName = null; } #endregion #region Public Properties /// - [DataMember(Name = "Numerator", IsRequired = false, Order = 1)] - public uint Numerator + [DataMember(Name = "SecurityModes", IsRequired = false, Order = 1)] + public MessageSecurityModeCollection SecurityModes { - get { return m_numerator; } - set { m_numerator = value; } + get + { + return m_securityModes; + } + + set + { + m_securityModes = value; + + if (value == null) + { + m_securityModes = new MessageSecurityModeCollection(); + } + } } /// - [DataMember(Name = "Denominator", IsRequired = false, Order = 2)] - public uint Denominator + [DataMember(Name = "SecurityPolicyUris", IsRequired = false, Order = 2)] + public StringCollection SecurityPolicyUris { - get { return m_denominator; } - set { m_denominator = value; } + get + { + return m_securityPolicyUris; + } + + set + { + m_securityPolicyUris = value; + + if (value == null) + { + m_securityPolicyUris = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "CertificateGroupName", IsRequired = false, Order = 3)] + public string CertificateGroupName + { + get { return m_certificateGroupName; } + set { m_certificateGroupName = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.UnsignedRationalNumber; + public override ExpandedNodeId TypeId => DataTypeIds.SecuritySettingsDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.SecuritySettingsDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.SecuritySettingsDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.SecuritySettingsDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("Numerator", Numerator); - encoder.WriteUInt32("Denominator", Denominator); + encoder.WriteEnumeratedArray("SecurityModes", SecurityModes.ToArray(), typeof(MessageSecurityMode)); + encoder.WriteStringArray("SecurityPolicyUris", SecurityPolicyUris); + encoder.WriteString("CertificateGroupName", CertificateGroupName); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Numerator = decoder.ReadUInt32("Numerator"); - Denominator = decoder.ReadUInt32("Denominator"); + SecurityModes = (MessageSecurityModeCollection)decoder.ReadEnumeratedArray("SecurityModes", typeof(MessageSecurityMode)); + SecurityPolicyUris = decoder.ReadStringArray("SecurityPolicyUris"); + CertificateGroupName = decoder.ReadString("CertificateGroupName"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - UnsignedRationalNumber value = encodeable as UnsignedRationalNumber; + SecuritySettingsDataType value = encodeable as SecuritySettingsDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_numerator, value.m_numerator)) return false; - if (!Utils.IsEqual(m_denominator, value.m_denominator)) return false; + if (!Utils.IsEqual(m_securityModes, value.m_securityModes)) return false; + if (!Utils.IsEqual(m_securityPolicyUris, value.m_securityPolicyUris)) return false; + if (!Utils.IsEqual(m_certificateGroupName, value.m_certificateGroupName)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (UnsignedRationalNumber)this.MemberwiseClone(); + return (SecuritySettingsDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - UnsignedRationalNumber clone = (UnsignedRationalNumber)base.MemberwiseClone(); + SecuritySettingsDataType clone = (SecuritySettingsDataType)base.MemberwiseClone(); - clone.m_numerator = (uint)Utils.Clone(this.m_numerator); - clone.m_denominator = (uint)Utils.Clone(this.m_denominator); + clone.m_securityModes = (MessageSecurityModeCollection)Utils.Clone(this.m_securityModes); + clone.m_securityPolicyUris = (StringCollection)Utils.Clone(this.m_securityPolicyUris); + clone.m_certificateGroupName = (string)Utils.Clone(this.m_certificateGroupName); return clone; } #endregion #region Private Fields - private uint m_numerator; - private uint m_denominator; + private MessageSecurityModeCollection m_securityModes; + private StringCollection m_securityPolicyUris; + private string m_certificateGroupName; #endregion } - #region UnsignedRationalNumberCollection Class + #region SecuritySettingsDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUnsignedRationalNumber", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UnsignedRationalNumber")] - public partial class UnsignedRationalNumberCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSecuritySettingsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SecuritySettingsDataType")] + public partial class SecuritySettingsDataTypeCollection : List, ICloneable { #region Constructors /// - public UnsignedRationalNumberCollection() {} + public SecuritySettingsDataTypeCollection() {} /// - public UnsignedRationalNumberCollection(int capacity) : base(capacity) {} + public SecuritySettingsDataTypeCollection(int capacity) : base(capacity) {} /// - public UnsignedRationalNumberCollection(IEnumerable collection) : base(collection) {} + public SecuritySettingsDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UnsignedRationalNumberCollection(UnsignedRationalNumber[] values) + public static implicit operator SecuritySettingsDataTypeCollection(SecuritySettingsDataType[] values) { if (values != null) { - return new UnsignedRationalNumberCollection(values); + return new SecuritySettingsDataTypeCollection(values); } - return new UnsignedRationalNumberCollection(); + return new SecuritySettingsDataTypeCollection(); } /// - public static explicit operator UnsignedRationalNumber[](UnsignedRationalNumberCollection values) + public static explicit operator SecuritySettingsDataType[](SecuritySettingsDataTypeCollection values) { if (values != null) { @@ -7115,18 +7400,18 @@ public static explicit operator UnsignedRationalNumber[](UnsignedRationalNumberC /// public object Clone() { - return (UnsignedRationalNumberCollection)this.MemberwiseClone(); + return (SecuritySettingsDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UnsignedRationalNumberCollection clone = new UnsignedRationalNumberCollection(this.Count); + SecuritySettingsDataTypeCollection clone = new SecuritySettingsDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UnsignedRationalNumber)Utils.Clone(this[ii])); + clone.Add((SecuritySettingsDataType)Utils.Clone(this[ii])); } return clone; @@ -7136,67 +7421,224 @@ public object Clone() #endif #endregion - #region PubSubState Enumeration - #if (!OPCUA_EXCLUDE_PubSubState) + #region UserTokenSettingsDataType Class + #if (!OPCUA_EXCLUDE_UserTokenSettingsDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum PubSubState + public partial class UserTokenSettingsDataType : Opc.Ua.BaseConfigurationRecordDataType { + #region Constructors /// - [EnumMember(Value = "Disabled_0")] - Disabled = 0, + public UserTokenSettingsDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_tokenType = UserTokenType.Anonymous; + m_issuedTokenType = null; + m_issuerEndpointUrl = null; + m_securityPolicyUri = null; + m_certificateGroupName = null; + m_authorizationServiceName = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "Paused_1")] - Paused = 1, + [DataMember(Name = "TokenType", IsRequired = false, Order = 1)] + public UserTokenType TokenType + { + get { return m_tokenType; } + set { m_tokenType = value; } + } /// - [EnumMember(Value = "Operational_2")] - Operational = 2, + [DataMember(Name = "IssuedTokenType", IsRequired = false, Order = 2)] + public string IssuedTokenType + { + get { return m_issuedTokenType; } + set { m_issuedTokenType = value; } + } /// - [EnumMember(Value = "Error_3")] - Error = 3, + [DataMember(Name = "IssuerEndpointUrl", IsRequired = false, Order = 3)] + public string IssuerEndpointUrl + { + get { return m_issuerEndpointUrl; } + set { m_issuerEndpointUrl = value; } + } /// - [EnumMember(Value = "PreOperational_4")] - PreOperational = 4, + [DataMember(Name = "SecurityPolicyUri", IsRequired = false, Order = 4)] + public string SecurityPolicyUri + { + get { return m_securityPolicyUri; } + set { m_securityPolicyUri = value; } + } + + /// + [DataMember(Name = "CertificateGroupName", IsRequired = false, Order = 5)] + public string CertificateGroupName + { + get { return m_certificateGroupName; } + set { m_certificateGroupName = value; } + } + + /// + [DataMember(Name = "AuthorizationServiceName", IsRequired = false, Order = 6)] + public string AuthorizationServiceName + { + get { return m_authorizationServiceName; } + set { m_authorizationServiceName = value; } + } + #endregion + + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.UserTokenSettingsDataType; + + /// + public override ExpandedNodeId BinaryEncodingId => ObjectIds.UserTokenSettingsDataType_Encoding_DefaultBinary; + + /// + public override ExpandedNodeId XmlEncodingId => ObjectIds.UserTokenSettingsDataType_Encoding_DefaultXml; + + /// + public override ExpandedNodeId JsonEncodingId => ObjectIds.UserTokenSettingsDataType_Encoding_DefaultJson; + + /// + public override void Encode(IEncoder encoder) + { + base.Encode(encoder); + + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteEnumerated("TokenType", TokenType); + encoder.WriteString("IssuedTokenType", IssuedTokenType); + encoder.WriteString("IssuerEndpointUrl", IssuerEndpointUrl); + encoder.WriteString("SecurityPolicyUri", SecurityPolicyUri); + encoder.WriteString("CertificateGroupName", CertificateGroupName); + encoder.WriteString("AuthorizationServiceName", AuthorizationServiceName); + + encoder.PopNamespace(); + } + + /// + public override void Decode(IDecoder decoder) + { + base.Decode(decoder); + + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + TokenType = (UserTokenType)decoder.ReadEnumerated("TokenType", typeof(UserTokenType)); + IssuedTokenType = decoder.ReadString("IssuedTokenType"); + IssuerEndpointUrl = decoder.ReadString("IssuerEndpointUrl"); + SecurityPolicyUri = decoder.ReadString("SecurityPolicyUri"); + CertificateGroupName = decoder.ReadString("CertificateGroupName"); + AuthorizationServiceName = decoder.ReadString("AuthorizationServiceName"); + + decoder.PopNamespace(); + } + + /// + public override bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + UserTokenSettingsDataType value = encodeable as UserTokenSettingsDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_tokenType, value.m_tokenType)) return false; + if (!Utils.IsEqual(m_issuedTokenType, value.m_issuedTokenType)) return false; + if (!Utils.IsEqual(m_issuerEndpointUrl, value.m_issuerEndpointUrl)) return false; + if (!Utils.IsEqual(m_securityPolicyUri, value.m_securityPolicyUri)) return false; + if (!Utils.IsEqual(m_certificateGroupName, value.m_certificateGroupName)) return false; + if (!Utils.IsEqual(m_authorizationServiceName, value.m_authorizationServiceName)) return false; + + return base.IsEqual(encodeable); + } + + /// + public override object Clone() + { + return (UserTokenSettingsDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + UserTokenSettingsDataType clone = (UserTokenSettingsDataType)base.MemberwiseClone(); + + clone.m_tokenType = (UserTokenType)Utils.Clone(this.m_tokenType); + clone.m_issuedTokenType = (string)Utils.Clone(this.m_issuedTokenType); + clone.m_issuerEndpointUrl = (string)Utils.Clone(this.m_issuerEndpointUrl); + clone.m_securityPolicyUri = (string)Utils.Clone(this.m_securityPolicyUri); + clone.m_certificateGroupName = (string)Utils.Clone(this.m_certificateGroupName); + clone.m_authorizationServiceName = (string)Utils.Clone(this.m_authorizationServiceName); + + return clone; + } + #endregion + + #region Private Fields + private UserTokenType m_tokenType; + private string m_issuedTokenType; + private string m_issuerEndpointUrl; + private string m_securityPolicyUri; + private string m_certificateGroupName; + private string m_authorizationServiceName; + #endregion } - #region PubSubStateCollection Class + #region UserTokenSettingsDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubState")] - public partial class PubSubStateCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUserTokenSettingsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UserTokenSettingsDataType")] + public partial class UserTokenSettingsDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubStateCollection() {} + public UserTokenSettingsDataTypeCollection() {} /// - public PubSubStateCollection(int capacity) : base(capacity) {} + public UserTokenSettingsDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubStateCollection(IEnumerable collection) : base(collection) {} + public UserTokenSettingsDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubStateCollection(PubSubState[] values) + public static implicit operator UserTokenSettingsDataTypeCollection(UserTokenSettingsDataType[] values) { if (values != null) { - return new PubSubStateCollection(values); + return new UserTokenSettingsDataTypeCollection(values); } - return new PubSubStateCollection(); + return new UserTokenSettingsDataTypeCollection(); } /// - public static explicit operator PubSubState[](PubSubStateCollection values) + public static explicit operator UserTokenSettingsDataType[](UserTokenSettingsDataTypeCollection values) { if (values != null) { @@ -7211,18 +7653,18 @@ public static explicit operator PubSubState[](PubSubStateCollection values) /// public object Clone() { - return (PubSubStateCollection)this.MemberwiseClone(); + return (UserTokenSettingsDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubStateCollection clone = new PubSubStateCollection(this.Count); + UserTokenSettingsDataTypeCollection clone = new UserTokenSettingsDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubState)Utils.Clone(this[ii])); + clone.Add((UserTokenSettingsDataType)Utils.Clone(this[ii])); } return clone; @@ -7232,17 +7674,17 @@ public object Clone() #endif #endregion - #region DataSetMetaDataType Class - #if (!OPCUA_EXCLUDE_DataSetMetaDataType) + #region AuthorizationServiceConfigurationDataType Class + #if (!OPCUA_EXCLUDE_AuthorizationServiceConfigurationDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetMetaDataType : Opc.Ua.DataTypeSchemaHeader + public partial class AuthorizationServiceConfigurationDataType : Opc.Ua.BaseConfigurationRecordDataType { #region Constructors /// - public DataSetMetaDataType() + public AuthorizationServiceConfigurationDataType() { Initialize(); } @@ -7255,92 +7697,62 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_name = null; - m_description = null; - m_fields = new FieldMetaDataCollection(); - m_dataSetClassId = Uuid.Empty; - m_configurationVersion = new ConfigurationVersionDataType(); + m_serviceUri = null; + m_serviceCertificate = new ByteStringCollection(); + m_issuerEndpointSettings = null; } #endregion #region Public Properties /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "Description", IsRequired = false, Order = 2)] - public LocalizedText Description + [DataMember(Name = "ServiceUri", IsRequired = false, Order = 1)] + public string ServiceUri { - get { return m_description; } - set { m_description = value; } + get { return m_serviceUri; } + set { m_serviceUri = value; } } /// - [DataMember(Name = "Fields", IsRequired = false, Order = 3)] - public FieldMetaDataCollection Fields + [DataMember(Name = "ServiceCertificate", IsRequired = false, Order = 2)] + public ByteStringCollection ServiceCertificate { get { - return m_fields; + return m_serviceCertificate; } set { - m_fields = value; + m_serviceCertificate = value; if (value == null) { - m_fields = new FieldMetaDataCollection(); + m_serviceCertificate = new ByteStringCollection(); } } } /// - [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 4)] - public Uuid DataSetClassId - { - get { return m_dataSetClassId; } - set { m_dataSetClassId = value; } - } - - /// - [DataMember(Name = "ConfigurationVersion", IsRequired = false, Order = 5)] - public ConfigurationVersionDataType ConfigurationVersion + [DataMember(Name = "IssuerEndpointSettings", IsRequired = false, Order = 3)] + public string IssuerEndpointSettings { - get - { - return m_configurationVersion; - } - - set - { - m_configurationVersion = value; - - if (value == null) - { - m_configurationVersion = new ConfigurationVersionDataType(); - } - } + get { return m_issuerEndpointSettings; } + set { m_issuerEndpointSettings = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DataSetMetaDataType; + public override ExpandedNodeId TypeId => DataTypeIds.AuthorizationServiceConfigurationDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.AuthorizationServiceConfigurationDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.AuthorizationServiceConfigurationDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.AuthorizationServiceConfigurationDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -7349,11 +7761,9 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteLocalizedText("Description", Description); - encoder.WriteEncodeableArray("Fields", Fields.ToArray(), typeof(FieldMetaData)); - encoder.WriteGuid("DataSetClassId", DataSetClassId); - encoder.WriteEncodeable("ConfigurationVersion", ConfigurationVersion, typeof(ConfigurationVersionDataType)); + encoder.WriteString("ServiceUri", ServiceUri); + encoder.WriteByteStringArray("ServiceCertificate", ServiceCertificate); + encoder.WriteString("IssuerEndpointSettings", IssuerEndpointSettings); encoder.PopNamespace(); } @@ -7365,11 +7775,9 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - Description = decoder.ReadLocalizedText("Description"); - Fields = (FieldMetaDataCollection)decoder.ReadEncodeableArray("Fields", typeof(FieldMetaData)); - DataSetClassId = decoder.ReadGuid("DataSetClassId"); - ConfigurationVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("ConfigurationVersion", typeof(ConfigurationVersionDataType)); + ServiceUri = decoder.ReadString("ServiceUri"); + ServiceCertificate = decoder.ReadByteStringArray("ServiceCertificate"); + IssuerEndpointSettings = decoder.ReadString("IssuerEndpointSettings"); decoder.PopNamespace(); } @@ -7382,18 +7790,16 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - DataSetMetaDataType value = encodeable as DataSetMetaDataType; + AuthorizationServiceConfigurationDataType value = encodeable as AuthorizationServiceConfigurationDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; - if (!Utils.IsEqual(m_fields, value.m_fields)) return false; - if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; - if (!Utils.IsEqual(m_configurationVersion, value.m_configurationVersion)) return false; + if (!Utils.IsEqual(m_serviceUri, value.m_serviceUri)) return false; + if (!Utils.IsEqual(m_serviceCertificate, value.m_serviceCertificate)) return false; + if (!Utils.IsEqual(m_issuerEndpointSettings, value.m_issuerEndpointSettings)) return false; return base.IsEqual(encodeable); } @@ -7401,65 +7807,61 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (DataSetMetaDataType)this.MemberwiseClone(); + return (AuthorizationServiceConfigurationDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetMetaDataType clone = (DataSetMetaDataType)base.MemberwiseClone(); + AuthorizationServiceConfigurationDataType clone = (AuthorizationServiceConfigurationDataType)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_description = (LocalizedText)Utils.Clone(this.m_description); - clone.m_fields = (FieldMetaDataCollection)Utils.Clone(this.m_fields); - clone.m_dataSetClassId = (Uuid)Utils.Clone(this.m_dataSetClassId); - clone.m_configurationVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_configurationVersion); + clone.m_serviceUri = (string)Utils.Clone(this.m_serviceUri); + clone.m_serviceCertificate = (ByteStringCollection)Utils.Clone(this.m_serviceCertificate); + clone.m_issuerEndpointSettings = (string)Utils.Clone(this.m_issuerEndpointSettings); return clone; } #endregion #region Private Fields - private string m_name; - private LocalizedText m_description; - private FieldMetaDataCollection m_fields; - private Uuid m_dataSetClassId; - private ConfigurationVersionDataType m_configurationVersion; + private string m_serviceUri; + private ByteStringCollection m_serviceCertificate; + private string m_issuerEndpointSettings; #endregion } - #region DataSetMetaDataTypeCollection Class + #region AuthorizationServiceConfigurationDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetMetaDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetMetaDataType")] - public partial class DataSetMetaDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfAuthorizationServiceConfigurationDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "AuthorizationServiceConfigurationDataType")] + public partial class AuthorizationServiceConfigurationDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetMetaDataTypeCollection() {} + public AuthorizationServiceConfigurationDataTypeCollection() {} /// - public DataSetMetaDataTypeCollection(int capacity) : base(capacity) {} + public AuthorizationServiceConfigurationDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetMetaDataTypeCollection(IEnumerable collection) : base(collection) {} + public AuthorizationServiceConfigurationDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetMetaDataTypeCollection(DataSetMetaDataType[] values) + public static implicit operator AuthorizationServiceConfigurationDataTypeCollection(AuthorizationServiceConfigurationDataType[] values) { if (values != null) { - return new DataSetMetaDataTypeCollection(values); + return new AuthorizationServiceConfigurationDataTypeCollection(values); } - return new DataSetMetaDataTypeCollection(); + return new AuthorizationServiceConfigurationDataTypeCollection(); } /// - public static explicit operator DataSetMetaDataType[](DataSetMetaDataTypeCollection values) + public static explicit operator AuthorizationServiceConfigurationDataType[](AuthorizationServiceConfigurationDataTypeCollection values) { if (values != null) { @@ -7474,18 +7876,18 @@ public static explicit operator DataSetMetaDataType[](DataSetMetaDataTypeCollect /// public object Clone() { - return (DataSetMetaDataTypeCollection)this.MemberwiseClone(); + return (AuthorizationServiceConfigurationDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetMetaDataTypeCollection clone = new DataSetMetaDataTypeCollection(this.Count); + AuthorizationServiceConfigurationDataTypeCollection clone = new AuthorizationServiceConfigurationDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetMetaDataType)Utils.Clone(this[ii])); + clone.Add((AuthorizationServiceConfigurationDataType)Utils.Clone(this[ii])); } return clone; @@ -7495,17 +7897,17 @@ public object Clone() #endif #endregion - #region FieldMetaData Class - #if (!OPCUA_EXCLUDE_FieldMetaData) + #region DecimalDataType Class + #if (!OPCUA_EXCLUDE_DecimalDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class FieldMetaData : IEncodeable, IJsonEncodeable + public partial class DecimalDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public FieldMetaData() + public DecimalDataType() { Initialize(); } @@ -7518,120 +7920,218 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_name = null; - m_description = null; - m_fieldFlags = 0; - m_builtInType = (byte)0; - m_dataType = null; - m_valueRank = (int)0; - m_arrayDimensions = new UInt32Collection(); - m_maxStringLength = (uint)0; - m_dataSetFieldId = Uuid.Empty; - m_properties = new KeyValuePairCollection(); + m_scale = (short)0; + m_value = null; } #endregion #region Public Properties /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name + [DataMember(Name = "Scale", IsRequired = false, Order = 1)] + public short Scale { - get { return m_name; } - set { m_name = value; } + get { return m_scale; } + set { m_scale = value; } } /// - [DataMember(Name = "Description", IsRequired = false, Order = 2)] - public LocalizedText Description + [DataMember(Name = "Value", IsRequired = false, Order = 2)] + public byte[] Value { - get { return m_description; } - set { m_description = value; } + get { return m_value; } + set { m_value = value; } } + #endregion - /// - [DataMember(Name = "FieldFlags", IsRequired = false, Order = 3)] - public ushort FieldFlags - { - get { return m_fieldFlags; } - set { m_fieldFlags = value; } - } + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.DecimalDataType; - /// - [DataMember(Name = "BuiltInType", IsRequired = false, Order = 4)] - public byte BuiltInType - { - get { return m_builtInType; } - set { m_builtInType = value; } - } + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultBinary; - /// - [DataMember(Name = "DataType", IsRequired = false, Order = 5)] - public NodeId DataType + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DecimalDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) { - get { return m_dataType; } - set { m_dataType = value; } + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteInt16("Scale", Scale); + encoder.WriteByteString("Value", Value); + + encoder.PopNamespace(); } - /// - [DataMember(Name = "ValueRank", IsRequired = false, Order = 6)] - public int ValueRank + /// + public virtual void Decode(IDecoder decoder) { - get { return m_valueRank; } - set { m_valueRank = value; } + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + Scale = decoder.ReadInt16("Scale"); + Value = decoder.ReadByteString("Value"); + + decoder.PopNamespace(); } - /// - [DataMember(Name = "ArrayDimensions", IsRequired = false, Order = 7)] - public UInt32Collection ArrayDimensions + /// + public virtual bool IsEqual(IEncodeable encodeable) { - get + if (Object.ReferenceEquals(this, encodeable)) { - return m_arrayDimensions; + return true; } - set - { - m_arrayDimensions = value; + DecimalDataType value = encodeable as DecimalDataType; - if (value == null) - { - m_arrayDimensions = new UInt32Collection(); - } + if (value == null) + { + return false; } + + if (!Utils.IsEqual(m_scale, value.m_scale)) return false; + if (!Utils.IsEqual(m_value, value.m_value)) return false; + + return true; } - /// - [DataMember(Name = "MaxStringLength", IsRequired = false, Order = 8)] - public uint MaxStringLength + /// + public virtual object Clone() { - get { return m_maxStringLength; } - set { m_maxStringLength = value; } + return (DecimalDataType)this.MemberwiseClone(); } - /// - [DataMember(Name = "DataSetFieldId", IsRequired = false, Order = 9)] - public Uuid DataSetFieldId + /// + public new object MemberwiseClone() { - get { return m_dataSetFieldId; } - set { m_dataSetFieldId = value; } + DecimalDataType clone = (DecimalDataType)base.MemberwiseClone(); + + clone.m_scale = (short)Utils.Clone(this.m_scale); + clone.m_value = (byte[])Utils.Clone(this.m_value); + + return clone; } + #endregion + + #region Private Fields + private short m_scale; + private byte[] m_value; + #endregion + } + #endif + #endregion + #region DataTypeSchemaHeader Class + #if (!OPCUA_EXCLUDE_DataTypeSchemaHeader) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class DataTypeSchemaHeader : IEncodeable, IJsonEncodeable + { + #region Constructors /// - [DataMember(Name = "Properties", IsRequired = false, Order = 10)] - public KeyValuePairCollection Properties + public DataTypeSchemaHeader() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_namespaces = new StringCollection(); + m_structureDataTypes = new StructureDescriptionCollection(); + m_enumDataTypes = new EnumDescriptionCollection(); + m_simpleDataTypes = new SimpleTypeDescriptionCollection(); + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "Namespaces", IsRequired = false, Order = 1)] + public StringCollection Namespaces { get { - return m_properties; + return m_namespaces; } set { - m_properties = value; + m_namespaces = value; if (value == null) { - m_properties = new KeyValuePairCollection(); + m_namespaces = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "StructureDataTypes", IsRequired = false, Order = 2)] + public StructureDescriptionCollection StructureDataTypes + { + get + { + return m_structureDataTypes; + } + + set + { + m_structureDataTypes = value; + + if (value == null) + { + m_structureDataTypes = new StructureDescriptionCollection(); + } + } + } + + /// + [DataMember(Name = "EnumDataTypes", IsRequired = false, Order = 3)] + public EnumDescriptionCollection EnumDataTypes + { + get + { + return m_enumDataTypes; + } + + set + { + m_enumDataTypes = value; + + if (value == null) + { + m_enumDataTypes = new EnumDescriptionCollection(); + } + } + } + + /// + [DataMember(Name = "SimpleDataTypes", IsRequired = false, Order = 4)] + public SimpleTypeDescriptionCollection SimpleDataTypes + { + get + { + return m_simpleDataTypes; + } + + set + { + m_simpleDataTypes = value; + + if (value == null) + { + m_simpleDataTypes = new SimpleTypeDescriptionCollection(); } } } @@ -7639,32 +8139,26 @@ public KeyValuePairCollection Properties #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.FieldMetaData; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataTypeSchemaHeader; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataTypeSchemaHeader_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteLocalizedText("Description", Description); - encoder.WriteUInt16("FieldFlags", FieldFlags); - encoder.WriteByte("BuiltInType", BuiltInType); - encoder.WriteNodeId("DataType", DataType); - encoder.WriteInt32("ValueRank", ValueRank); - encoder.WriteUInt32Array("ArrayDimensions", ArrayDimensions); - encoder.WriteUInt32("MaxStringLength", MaxStringLength); - encoder.WriteGuid("DataSetFieldId", DataSetFieldId); - encoder.WriteEncodeableArray("Properties", Properties.ToArray(), typeof(KeyValuePair)); + encoder.WriteStringArray("Namespaces", Namespaces); + encoder.WriteEncodeableArray("StructureDataTypes", StructureDataTypes.ToArray(), typeof(StructureDescription)); + encoder.WriteEncodeableArray("EnumDataTypes", EnumDataTypes.ToArray(), typeof(EnumDescription)); + encoder.WriteEncodeableArray("SimpleDataTypes", SimpleDataTypes.ToArray(), typeof(SimpleTypeDescription)); encoder.PopNamespace(); } @@ -7674,16 +8168,10 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - Description = decoder.ReadLocalizedText("Description"); - FieldFlags = decoder.ReadUInt16("FieldFlags"); - BuiltInType = decoder.ReadByte("BuiltInType"); - DataType = decoder.ReadNodeId("DataType"); - ValueRank = decoder.ReadInt32("ValueRank"); - ArrayDimensions = decoder.ReadUInt32Array("ArrayDimensions"); - MaxStringLength = decoder.ReadUInt32("MaxStringLength"); - DataSetFieldId = decoder.ReadGuid("DataSetFieldId"); - Properties = (KeyValuePairCollection)decoder.ReadEncodeableArray("Properties", typeof(KeyValuePair)); + Namespaces = decoder.ReadStringArray("Namespaces"); + StructureDataTypes = (StructureDescriptionCollection)decoder.ReadEncodeableArray("StructureDataTypes", typeof(StructureDescription)); + EnumDataTypes = (EnumDescriptionCollection)decoder.ReadEncodeableArray("EnumDataTypes", typeof(EnumDescription)); + SimpleDataTypes = (SimpleTypeDescriptionCollection)decoder.ReadEncodeableArray("SimpleDataTypes", typeof(SimpleTypeDescription)); decoder.PopNamespace(); } @@ -7696,23 +8184,17 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - FieldMetaData value = encodeable as FieldMetaData; + DataTypeSchemaHeader value = encodeable as DataTypeSchemaHeader; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; - if (!Utils.IsEqual(m_fieldFlags, value.m_fieldFlags)) return false; - if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; - if (!Utils.IsEqual(m_dataType, value.m_dataType)) return false; - if (!Utils.IsEqual(m_valueRank, value.m_valueRank)) return false; - if (!Utils.IsEqual(m_arrayDimensions, value.m_arrayDimensions)) return false; - if (!Utils.IsEqual(m_maxStringLength, value.m_maxStringLength)) return false; - if (!Utils.IsEqual(m_dataSetFieldId, value.m_dataSetFieldId)) return false; - if (!Utils.IsEqual(m_properties, value.m_properties)) return false; + if (!Utils.IsEqual(m_namespaces, value.m_namespaces)) return false; + if (!Utils.IsEqual(m_structureDataTypes, value.m_structureDataTypes)) return false; + if (!Utils.IsEqual(m_enumDataTypes, value.m_enumDataTypes)) return false; + if (!Utils.IsEqual(m_simpleDataTypes, value.m_simpleDataTypes)) return false; return true; } @@ -7720,75 +8202,63 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (FieldMetaData)this.MemberwiseClone(); + return (DataTypeSchemaHeader)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - FieldMetaData clone = (FieldMetaData)base.MemberwiseClone(); + DataTypeSchemaHeader clone = (DataTypeSchemaHeader)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_description = (LocalizedText)Utils.Clone(this.m_description); - clone.m_fieldFlags = (ushort)Utils.Clone(this.m_fieldFlags); - clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); - clone.m_dataType = (NodeId)Utils.Clone(this.m_dataType); - clone.m_valueRank = (int)Utils.Clone(this.m_valueRank); - clone.m_arrayDimensions = (UInt32Collection)Utils.Clone(this.m_arrayDimensions); - clone.m_maxStringLength = (uint)Utils.Clone(this.m_maxStringLength); - clone.m_dataSetFieldId = (Uuid)Utils.Clone(this.m_dataSetFieldId); - clone.m_properties = (KeyValuePairCollection)Utils.Clone(this.m_properties); + clone.m_namespaces = (StringCollection)Utils.Clone(this.m_namespaces); + clone.m_structureDataTypes = (StructureDescriptionCollection)Utils.Clone(this.m_structureDataTypes); + clone.m_enumDataTypes = (EnumDescriptionCollection)Utils.Clone(this.m_enumDataTypes); + clone.m_simpleDataTypes = (SimpleTypeDescriptionCollection)Utils.Clone(this.m_simpleDataTypes); return clone; } #endregion #region Private Fields - private string m_name; - private LocalizedText m_description; - private ushort m_fieldFlags; - private byte m_builtInType; - private NodeId m_dataType; - private int m_valueRank; - private UInt32Collection m_arrayDimensions; - private uint m_maxStringLength; - private Uuid m_dataSetFieldId; - private KeyValuePairCollection m_properties; + private StringCollection m_namespaces; + private StructureDescriptionCollection m_structureDataTypes; + private EnumDescriptionCollection m_enumDataTypes; + private SimpleTypeDescriptionCollection m_simpleDataTypes; #endregion } - #region FieldMetaDataCollection Class + #region DataTypeSchemaHeaderCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfFieldMetaData", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "FieldMetaData")] - public partial class FieldMetaDataCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataTypeSchemaHeader", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataTypeSchemaHeader")] + public partial class DataTypeSchemaHeaderCollection : List, ICloneable { #region Constructors /// - public FieldMetaDataCollection() {} + public DataTypeSchemaHeaderCollection() {} /// - public FieldMetaDataCollection(int capacity) : base(capacity) {} + public DataTypeSchemaHeaderCollection(int capacity) : base(capacity) {} /// - public FieldMetaDataCollection(IEnumerable collection) : base(collection) {} + public DataTypeSchemaHeaderCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator FieldMetaDataCollection(FieldMetaData[] values) + public static implicit operator DataTypeSchemaHeaderCollection(DataTypeSchemaHeader[] values) { if (values != null) { - return new FieldMetaDataCollection(values); + return new DataTypeSchemaHeaderCollection(values); } - return new FieldMetaDataCollection(); + return new DataTypeSchemaHeaderCollection(); } /// - public static explicit operator FieldMetaData[](FieldMetaDataCollection values) + public static explicit operator DataTypeSchemaHeader[](DataTypeSchemaHeaderCollection values) { if (values != null) { @@ -7803,18 +8273,18 @@ public static explicit operator FieldMetaData[](FieldMetaDataCollection values) /// public object Clone() { - return (FieldMetaDataCollection)this.MemberwiseClone(); + return (DataTypeSchemaHeaderCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - FieldMetaDataCollection clone = new FieldMetaDataCollection(this.Count); + DataTypeSchemaHeaderCollection clone = new DataTypeSchemaHeaderCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((FieldMetaData)Utils.Clone(this[ii])); + clone.Add((DataTypeSchemaHeader)Utils.Clone(this[ii])); } return clone; @@ -7824,36 +8294,17 @@ public object Clone() #endif #endregion - #region DataSetFieldFlags Enumeration - #if (!OPCUA_EXCLUDE_DataSetFieldFlags) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum DataSetFieldFlags : UInt16 - { - /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "PromotedField_1")] - PromotedField = 1, - } - #endif - #endregion - - #region ConfigurationVersionDataType Class - #if (!OPCUA_EXCLUDE_ConfigurationVersionDataType) + #region DataTypeDescription Class + #if (!OPCUA_EXCLUDE_DataTypeDescription) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ConfigurationVersionDataType : IEncodeable, IJsonEncodeable + public partial class DataTypeDescription : IEncodeable, IJsonEncodeable { #region Constructors /// - public ConfigurationVersionDataType() + public DataTypeDescription() { Initialize(); } @@ -7866,49 +8317,49 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_majorVersion = (uint)0; - m_minorVersion = (uint)0; + m_dataTypeId = null; + m_name = null; } #endregion #region Public Properties /// - [DataMember(Name = "MajorVersion", IsRequired = false, Order = 1)] - public uint MajorVersion + [DataMember(Name = "DataTypeId", IsRequired = false, Order = 1)] + public NodeId DataTypeId { - get { return m_majorVersion; } - set { m_majorVersion = value; } + get { return m_dataTypeId; } + set { m_dataTypeId = value; } } /// - [DataMember(Name = "MinorVersion", IsRequired = false, Order = 2)] - public uint MinorVersion + [DataMember(Name = "Name", IsRequired = false, Order = 2)] + public QualifiedName Name { - get { return m_minorVersion; } - set { m_minorVersion = value; } + get { return m_name; } + set { m_name = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ConfigurationVersionDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataTypeDescription; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataTypeDescription_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("MajorVersion", MajorVersion); - encoder.WriteUInt32("MinorVersion", MinorVersion); + encoder.WriteNodeId("DataTypeId", DataTypeId); + encoder.WriteQualifiedName("Name", Name); encoder.PopNamespace(); } @@ -7918,8 +8369,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MajorVersion = decoder.ReadUInt32("MajorVersion"); - MinorVersion = decoder.ReadUInt32("MinorVersion"); + DataTypeId = decoder.ReadNodeId("DataTypeId"); + Name = decoder.ReadQualifiedName("Name"); decoder.PopNamespace(); } @@ -7932,15 +8383,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ConfigurationVersionDataType value = encodeable as ConfigurationVersionDataType; + DataTypeDescription value = encodeable as DataTypeDescription; if (value == null) { return false; } - if (!Utils.IsEqual(m_majorVersion, value.m_majorVersion)) return false; - if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; + if (!Utils.IsEqual(m_dataTypeId, value.m_dataTypeId)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; return true; } @@ -7948,59 +8399,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ConfigurationVersionDataType)this.MemberwiseClone(); + return (DataTypeDescription)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ConfigurationVersionDataType clone = (ConfigurationVersionDataType)base.MemberwiseClone(); + DataTypeDescription clone = (DataTypeDescription)base.MemberwiseClone(); - clone.m_majorVersion = (uint)Utils.Clone(this.m_majorVersion); - clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); + clone.m_dataTypeId = (NodeId)Utils.Clone(this.m_dataTypeId); + clone.m_name = (QualifiedName)Utils.Clone(this.m_name); return clone; } #endregion #region Private Fields - private uint m_majorVersion; - private uint m_minorVersion; + private NodeId m_dataTypeId; + private QualifiedName m_name; #endregion } - #region ConfigurationVersionDataTypeCollection Class + #region DataTypeDescriptionCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfConfigurationVersionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConfigurationVersionDataType")] - public partial class ConfigurationVersionDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataTypeDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataTypeDescription")] + public partial class DataTypeDescriptionCollection : List, ICloneable { #region Constructors /// - public ConfigurationVersionDataTypeCollection() {} + public DataTypeDescriptionCollection() {} /// - public ConfigurationVersionDataTypeCollection(int capacity) : base(capacity) {} + public DataTypeDescriptionCollection(int capacity) : base(capacity) {} /// - public ConfigurationVersionDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataTypeDescriptionCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ConfigurationVersionDataTypeCollection(ConfigurationVersionDataType[] values) + public static implicit operator DataTypeDescriptionCollection(DataTypeDescription[] values) { if (values != null) { - return new ConfigurationVersionDataTypeCollection(values); + return new DataTypeDescriptionCollection(values); } - return new ConfigurationVersionDataTypeCollection(); + return new DataTypeDescriptionCollection(); } /// - public static explicit operator ConfigurationVersionDataType[](ConfigurationVersionDataTypeCollection values) + public static explicit operator DataTypeDescription[](DataTypeDescriptionCollection values) { if (values != null) { @@ -8015,18 +8466,18 @@ public static explicit operator ConfigurationVersionDataType[](ConfigurationVers /// public object Clone() { - return (ConfigurationVersionDataTypeCollection)this.MemberwiseClone(); + return (DataTypeDescriptionCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ConfigurationVersionDataTypeCollection clone = new ConfigurationVersionDataTypeCollection(this.Count); + DataTypeDescriptionCollection clone = new DataTypeDescriptionCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ConfigurationVersionDataType)Utils.Clone(this[ii])); + clone.Add((DataTypeDescription)Utils.Clone(this[ii])); } return clone; @@ -8036,242 +8487,166 @@ public object Clone() #endif #endregion - #region PublishedDataSetDataType Class - #if (!OPCUA_EXCLUDE_PublishedDataSetDataType) + #region StructureDescription Class + #if (!OPCUA_EXCLUDE_StructureDescription) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedDataSetDataType : IEncodeable, IJsonEncodeable + public partial class StructureDescription : Opc.Ua.DataTypeDescription { #region Constructors /// - public PublishedDataSetDataType() + public StructureDescription() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_name = null; - m_dataSetFolder = new StringCollection(); - m_dataSetMetaData = new DataSetMetaDataType(); - m_extensionFields = new KeyValuePairCollection(); - m_dataSetSource = null; + m_structureDefinition = new StructureDefinition(); } #endregion #region Public Properties /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "DataSetFolder", IsRequired = false, Order = 2)] - public StringCollection DataSetFolder - { - get - { - return m_dataSetFolder; - } - - set - { - m_dataSetFolder = value; - - if (value == null) - { - m_dataSetFolder = new StringCollection(); - } - } - } - - /// - [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 3)] - public DataSetMetaDataType DataSetMetaData - { - get - { - return m_dataSetMetaData; - } - - set - { - m_dataSetMetaData = value; - - if (value == null) - { - m_dataSetMetaData = new DataSetMetaDataType(); - } - } - } - - /// - [DataMember(Name = "ExtensionFields", IsRequired = false, Order = 4)] - public KeyValuePairCollection ExtensionFields + [DataMember(Name = "StructureDefinition", IsRequired = false, Order = 1)] + public StructureDefinition StructureDefinition { get { - return m_extensionFields; + return m_structureDefinition; } set { - m_extensionFields = value; + m_structureDefinition = value; if (value == null) { - m_extensionFields = new KeyValuePairCollection(); + m_structureDefinition = new StructureDefinition(); } } } - - /// - [DataMember(Name = "DataSetSource", IsRequired = false, Order = 5)] - public ExtensionObject DataSetSource - { - get { return m_dataSetSource; } - set { m_dataSetSource = value; } - } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetDataType; + public override ExpandedNodeId TypeId => DataTypeIds.StructureDescription; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.StructureDescription_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.StructureDescription_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.StructureDescription_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteStringArray("DataSetFolder", DataSetFolder); - encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); - encoder.WriteEncodeableArray("ExtensionFields", ExtensionFields.ToArray(), typeof(KeyValuePair)); - encoder.WriteExtensionObject("DataSetSource", DataSetSource); + encoder.WriteEncodeable("StructureDefinition", StructureDefinition, typeof(StructureDefinition)); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - DataSetFolder = decoder.ReadStringArray("DataSetFolder"); - DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); - ExtensionFields = (KeyValuePairCollection)decoder.ReadEncodeableArray("ExtensionFields", typeof(KeyValuePair)); - DataSetSource = decoder.ReadExtensionObject("DataSetSource"); + StructureDefinition = (StructureDefinition)decoder.ReadEncodeable("StructureDefinition", typeof(StructureDefinition)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedDataSetDataType value = encodeable as PublishedDataSetDataType; + StructureDescription value = encodeable as StructureDescription; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_dataSetFolder, value.m_dataSetFolder)) return false; - if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; - if (!Utils.IsEqual(m_extensionFields, value.m_extensionFields)) return false; - if (!Utils.IsEqual(m_dataSetSource, value.m_dataSetSource)) return false; + if (!Utils.IsEqual(m_structureDefinition, value.m_structureDefinition)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PublishedDataSetDataType)this.MemberwiseClone(); + return (StructureDescription)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedDataSetDataType clone = (PublishedDataSetDataType)base.MemberwiseClone(); + StructureDescription clone = (StructureDescription)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_dataSetFolder = (StringCollection)Utils.Clone(this.m_dataSetFolder); - clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); - clone.m_extensionFields = (KeyValuePairCollection)Utils.Clone(this.m_extensionFields); - clone.m_dataSetSource = (ExtensionObject)Utils.Clone(this.m_dataSetSource); + clone.m_structureDefinition = (StructureDefinition)Utils.Clone(this.m_structureDefinition); return clone; } #endregion #region Private Fields - private string m_name; - private StringCollection m_dataSetFolder; - private DataSetMetaDataType m_dataSetMetaData; - private KeyValuePairCollection m_extensionFields; - private ExtensionObject m_dataSetSource; + private StructureDefinition m_structureDefinition; #endregion } - #region PublishedDataSetDataTypeCollection Class + #region StructureDescriptionCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetDataType")] - public partial class PublishedDataSetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfStructureDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StructureDescription")] + public partial class StructureDescriptionCollection : List, ICloneable { #region Constructors /// - public PublishedDataSetDataTypeCollection() {} + public StructureDescriptionCollection() {} /// - public PublishedDataSetDataTypeCollection(int capacity) : base(capacity) {} + public StructureDescriptionCollection(int capacity) : base(capacity) {} /// - public PublishedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} + public StructureDescriptionCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedDataSetDataTypeCollection(PublishedDataSetDataType[] values) + public static implicit operator StructureDescriptionCollection(StructureDescription[] values) { if (values != null) { - return new PublishedDataSetDataTypeCollection(values); + return new StructureDescriptionCollection(values); } - return new PublishedDataSetDataTypeCollection(); + return new StructureDescriptionCollection(); } /// - public static explicit operator PublishedDataSetDataType[](PublishedDataSetDataTypeCollection values) + public static explicit operator StructureDescription[](StructureDescriptionCollection values) { if (values != null) { @@ -8286,18 +8661,18 @@ public static explicit operator PublishedDataSetDataType[](PublishedDataSetDataT /// public object Clone() { - return (PublishedDataSetDataTypeCollection)this.MemberwiseClone(); + return (StructureDescriptionCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedDataSetDataTypeCollection clone = new PublishedDataSetDataTypeCollection(this.Count); + StructureDescriptionCollection clone = new StructureDescriptionCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedDataSetDataType)Utils.Clone(this[ii])); + clone.Add((StructureDescription)Utils.Clone(this[ii])); } return clone; @@ -8307,137 +8682,180 @@ public object Clone() #endif #endregion - #region PublishedDataSetSourceDataType Class - #if (!OPCUA_EXCLUDE_PublishedDataSetSourceDataType) + #region EnumDescription Class + #if (!OPCUA_EXCLUDE_EnumDescription) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedDataSetSourceDataType : IEncodeable, IJsonEncodeable + public partial class EnumDescription : Opc.Ua.DataTypeDescription { #region Constructors /// - public PublishedDataSetSourceDataType() + public EnumDescription() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { + m_enumDefinition = new EnumDefinition(); + m_builtInType = (byte)0; } #endregion #region Public Properties + /// + [DataMember(Name = "EnumDefinition", IsRequired = false, Order = 1)] + public EnumDefinition EnumDefinition + { + get + { + return m_enumDefinition; + } + + set + { + m_enumDefinition = value; + + if (value == null) + { + m_enumDefinition = new EnumDefinition(); + } + } + } + + /// + [DataMember(Name = "BuiltInType", IsRequired = false, Order = 2)] + public byte BuiltInType + { + get { return m_builtInType; } + set { m_builtInType = value; } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetSourceDataType; + public override ExpandedNodeId TypeId => DataTypeIds.EnumDescription; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.EnumDescription_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.EnumDescription_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.EnumDescription_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteEncodeable("EnumDefinition", EnumDefinition, typeof(EnumDefinition)); + encoder.WriteByte("BuiltInType", BuiltInType); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + EnumDefinition = (EnumDefinition)decoder.ReadEncodeable("EnumDefinition", typeof(EnumDefinition)); + BuiltInType = decoder.ReadByte("BuiltInType"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedDataSetSourceDataType value = encodeable as PublishedDataSetSourceDataType; + EnumDescription value = encodeable as EnumDescription; if (value == null) { return false; } + if (!Utils.IsEqual(m_enumDefinition, value.m_enumDefinition)) return false; + if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PublishedDataSetSourceDataType)this.MemberwiseClone(); + return (EnumDescription)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedDataSetSourceDataType clone = (PublishedDataSetSourceDataType)base.MemberwiseClone(); + EnumDescription clone = (EnumDescription)base.MemberwiseClone(); + clone.m_enumDefinition = (EnumDefinition)Utils.Clone(this.m_enumDefinition); + clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); return clone; } #endregion #region Private Fields + private EnumDefinition m_enumDefinition; + private byte m_builtInType; #endregion } - #region PublishedDataSetSourceDataTypeCollection Class + #region EnumDescriptionCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedDataSetSourceDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetSourceDataType")] - public partial class PublishedDataSetSourceDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfEnumDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "EnumDescription")] + public partial class EnumDescriptionCollection : List, ICloneable { #region Constructors /// - public PublishedDataSetSourceDataTypeCollection() {} + public EnumDescriptionCollection() {} /// - public PublishedDataSetSourceDataTypeCollection(int capacity) : base(capacity) {} + public EnumDescriptionCollection(int capacity) : base(capacity) {} /// - public PublishedDataSetSourceDataTypeCollection(IEnumerable collection) : base(collection) {} + public EnumDescriptionCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedDataSetSourceDataTypeCollection(PublishedDataSetSourceDataType[] values) + public static implicit operator EnumDescriptionCollection(EnumDescription[] values) { if (values != null) { - return new PublishedDataSetSourceDataTypeCollection(values); + return new EnumDescriptionCollection(values); } - return new PublishedDataSetSourceDataTypeCollection(); + return new EnumDescriptionCollection(); } /// - public static explicit operator PublishedDataSetSourceDataType[](PublishedDataSetSourceDataTypeCollection values) + public static explicit operator EnumDescription[](EnumDescriptionCollection values) { if (values != null) { @@ -8452,18 +8870,18 @@ public static explicit operator PublishedDataSetSourceDataType[](PublishedDataSe /// public object Clone() { - return (PublishedDataSetSourceDataTypeCollection)this.MemberwiseClone(); + return (EnumDescriptionCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedDataSetSourceDataTypeCollection clone = new PublishedDataSetSourceDataTypeCollection(this.Count); + EnumDescriptionCollection clone = new EnumDescriptionCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedDataSetSourceDataType)Utils.Clone(this[ii])); + clone.Add((EnumDescription)Utils.Clone(this[ii])); } return clone; @@ -8473,260 +8891,168 @@ public object Clone() #endif #endregion - #region PublishedVariableDataType Class - #if (!OPCUA_EXCLUDE_PublishedVariableDataType) + #region SimpleTypeDescription Class + #if (!OPCUA_EXCLUDE_SimpleTypeDescription) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedVariableDataType : IEncodeable, IJsonEncodeable + public partial class SimpleTypeDescription : Opc.Ua.DataTypeDescription { #region Constructors /// - public PublishedVariableDataType() + public SimpleTypeDescription() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_publishedVariable = null; - m_attributeId = (uint)0; - m_samplingIntervalHint = (double)0; - m_deadbandType = (uint)0; - m_deadbandValue = (double)0; - m_indexRange = null; - m_substituteValue = Variant.Null; - m_metaDataProperties = new QualifiedNameCollection(); + m_baseDataType = null; + m_builtInType = (byte)0; } #endregion #region Public Properties /// - [DataMember(Name = "PublishedVariable", IsRequired = false, Order = 1)] - public NodeId PublishedVariable - { - get { return m_publishedVariable; } - set { m_publishedVariable = value; } - } - - /// - [DataMember(Name = "AttributeId", IsRequired = false, Order = 2)] - public uint AttributeId - { - get { return m_attributeId; } - set { m_attributeId = value; } - } - - /// - [DataMember(Name = "SamplingIntervalHint", IsRequired = false, Order = 3)] - public double SamplingIntervalHint - { - get { return m_samplingIntervalHint; } - set { m_samplingIntervalHint = value; } - } - - /// - [DataMember(Name = "DeadbandType", IsRequired = false, Order = 4)] - public uint DeadbandType - { - get { return m_deadbandType; } - set { m_deadbandType = value; } - } - - /// - [DataMember(Name = "DeadbandValue", IsRequired = false, Order = 5)] - public double DeadbandValue - { - get { return m_deadbandValue; } - set { m_deadbandValue = value; } - } - - /// - [DataMember(Name = "IndexRange", IsRequired = false, Order = 6)] - public string IndexRange - { - get { return m_indexRange; } - set { m_indexRange = value; } - } - - /// - [DataMember(Name = "SubstituteValue", IsRequired = false, Order = 7)] - public Variant SubstituteValue + [DataMember(Name = "BaseDataType", IsRequired = false, Order = 1)] + public NodeId BaseDataType { - get { return m_substituteValue; } - set { m_substituteValue = value; } + get { return m_baseDataType; } + set { m_baseDataType = value; } } /// - [DataMember(Name = "MetaDataProperties", IsRequired = false, Order = 8)] - public QualifiedNameCollection MetaDataProperties + [DataMember(Name = "BuiltInType", IsRequired = false, Order = 2)] + public byte BuiltInType { - get - { - return m_metaDataProperties; - } - - set - { - m_metaDataProperties = value; - - if (value == null) - { - m_metaDataProperties = new QualifiedNameCollection(); - } - } + get { return m_builtInType; } + set { m_builtInType = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedVariableDataType; + public override ExpandedNodeId TypeId => DataTypeIds.SimpleTypeDescription; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.SimpleTypeDescription_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("PublishedVariable", PublishedVariable); - encoder.WriteUInt32("AttributeId", AttributeId); - encoder.WriteDouble("SamplingIntervalHint", SamplingIntervalHint); - encoder.WriteUInt32("DeadbandType", DeadbandType); - encoder.WriteDouble("DeadbandValue", DeadbandValue); - encoder.WriteString("IndexRange", IndexRange); - encoder.WriteVariant("SubstituteValue", SubstituteValue); - encoder.WriteQualifiedNameArray("MetaDataProperties", MetaDataProperties); + encoder.WriteNodeId("BaseDataType", BaseDataType); + encoder.WriteByte("BuiltInType", BuiltInType); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - PublishedVariable = decoder.ReadNodeId("PublishedVariable"); - AttributeId = decoder.ReadUInt32("AttributeId"); - SamplingIntervalHint = decoder.ReadDouble("SamplingIntervalHint"); - DeadbandType = decoder.ReadUInt32("DeadbandType"); - DeadbandValue = decoder.ReadDouble("DeadbandValue"); - IndexRange = decoder.ReadString("IndexRange"); - SubstituteValue = decoder.ReadVariant("SubstituteValue"); - MetaDataProperties = decoder.ReadQualifiedNameArray("MetaDataProperties"); + BaseDataType = decoder.ReadNodeId("BaseDataType"); + BuiltInType = decoder.ReadByte("BuiltInType"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedVariableDataType value = encodeable as PublishedVariableDataType; + SimpleTypeDescription value = encodeable as SimpleTypeDescription; if (value == null) { return false; } - if (!Utils.IsEqual(m_publishedVariable, value.m_publishedVariable)) return false; - if (!Utils.IsEqual(m_attributeId, value.m_attributeId)) return false; - if (!Utils.IsEqual(m_samplingIntervalHint, value.m_samplingIntervalHint)) return false; - if (!Utils.IsEqual(m_deadbandType, value.m_deadbandType)) return false; - if (!Utils.IsEqual(m_deadbandValue, value.m_deadbandValue)) return false; - if (!Utils.IsEqual(m_indexRange, value.m_indexRange)) return false; - if (!Utils.IsEqual(m_substituteValue, value.m_substituteValue)) return false; - if (!Utils.IsEqual(m_metaDataProperties, value.m_metaDataProperties)) return false; + if (!Utils.IsEqual(m_baseDataType, value.m_baseDataType)) return false; + if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PublishedVariableDataType)this.MemberwiseClone(); + return (SimpleTypeDescription)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedVariableDataType clone = (PublishedVariableDataType)base.MemberwiseClone(); + SimpleTypeDescription clone = (SimpleTypeDescription)base.MemberwiseClone(); - clone.m_publishedVariable = (NodeId)Utils.Clone(this.m_publishedVariable); - clone.m_attributeId = (uint)Utils.Clone(this.m_attributeId); - clone.m_samplingIntervalHint = (double)Utils.Clone(this.m_samplingIntervalHint); - clone.m_deadbandType = (uint)Utils.Clone(this.m_deadbandType); - clone.m_deadbandValue = (double)Utils.Clone(this.m_deadbandValue); - clone.m_indexRange = (string)Utils.Clone(this.m_indexRange); - clone.m_substituteValue = (Variant)Utils.Clone(this.m_substituteValue); - clone.m_metaDataProperties = (QualifiedNameCollection)Utils.Clone(this.m_metaDataProperties); + clone.m_baseDataType = (NodeId)Utils.Clone(this.m_baseDataType); + clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); return clone; } #endregion #region Private Fields - private NodeId m_publishedVariable; - private uint m_attributeId; - private double m_samplingIntervalHint; - private uint m_deadbandType; - private double m_deadbandValue; - private string m_indexRange; - private Variant m_substituteValue; - private QualifiedNameCollection m_metaDataProperties; + private NodeId m_baseDataType; + private byte m_builtInType; #endregion } - #region PublishedVariableDataTypeCollection Class + #region SimpleTypeDescriptionCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedVariableDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedVariableDataType")] - public partial class PublishedVariableDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSimpleTypeDescription", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SimpleTypeDescription")] + public partial class SimpleTypeDescriptionCollection : List, ICloneable { #region Constructors /// - public PublishedVariableDataTypeCollection() {} + public SimpleTypeDescriptionCollection() {} /// - public PublishedVariableDataTypeCollection(int capacity) : base(capacity) {} + public SimpleTypeDescriptionCollection(int capacity) : base(capacity) {} /// - public PublishedVariableDataTypeCollection(IEnumerable collection) : base(collection) {} + public SimpleTypeDescriptionCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedVariableDataTypeCollection(PublishedVariableDataType[] values) + public static implicit operator SimpleTypeDescriptionCollection(SimpleTypeDescription[] values) { if (values != null) { - return new PublishedVariableDataTypeCollection(values); + return new SimpleTypeDescriptionCollection(values); } - return new PublishedVariableDataTypeCollection(); + return new SimpleTypeDescriptionCollection(); } /// - public static explicit operator PublishedVariableDataType[](PublishedVariableDataTypeCollection values) + public static explicit operator SimpleTypeDescription[](SimpleTypeDescriptionCollection values) { if (values != null) { @@ -8741,18 +9067,18 @@ public static explicit operator PublishedVariableDataType[](PublishedVariableDat /// public object Clone() { - return (PublishedVariableDataTypeCollection)this.MemberwiseClone(); + return (SimpleTypeDescriptionCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedVariableDataTypeCollection clone = new PublishedVariableDataTypeCollection(this.Count); + SimpleTypeDescriptionCollection clone = new SimpleTypeDescriptionCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedVariableDataType)Utils.Clone(this[ii])); + clone.Add((SimpleTypeDescription)Utils.Clone(this[ii])); } return clone; @@ -8762,17 +9088,17 @@ public object Clone() #endif #endregion - #region PublishedDataItemsDataType Class - #if (!OPCUA_EXCLUDE_PublishedDataItemsDataType) + #region UABinaryFileDataType Class + #if (!OPCUA_EXCLUDE_UABinaryFileDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedDataItemsDataType : Opc.Ua.PublishedDataSetSourceDataType + public partial class UABinaryFileDataType : Opc.Ua.DataTypeSchemaHeader { #region Constructors /// - public PublishedDataItemsDataType() + public UABinaryFileDataType() { Initialize(); } @@ -8785,44 +9111,62 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_publishedData = new PublishedVariableDataTypeCollection(); + m_schemaLocation = null; + m_fileHeader = new KeyValuePairCollection(); + m_body = Variant.Null; } #endregion #region Public Properties /// - [DataMember(Name = "PublishedData", IsRequired = false, Order = 1)] - public PublishedVariableDataTypeCollection PublishedData + [DataMember(Name = "SchemaLocation", IsRequired = false, Order = 1)] + public string SchemaLocation + { + get { return m_schemaLocation; } + set { m_schemaLocation = value; } + } + + /// + [DataMember(Name = "FileHeader", IsRequired = false, Order = 2)] + public KeyValuePairCollection FileHeader { get { - return m_publishedData; + return m_fileHeader; } set { - m_publishedData = value; + m_fileHeader = value; if (value == null) { - m_publishedData = new PublishedVariableDataTypeCollection(); + m_fileHeader = new KeyValuePairCollection(); } } } + + /// + [DataMember(Name = "Body", IsRequired = false, Order = 3)] + public Variant Body + { + get { return m_body; } + set { m_body = value; } + } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PublishedDataItemsDataType; + public override ExpandedNodeId TypeId => DataTypeIds.UABinaryFileDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.UABinaryFileDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -8831,7 +9175,9 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeableArray("PublishedData", PublishedData.ToArray(), typeof(PublishedVariableDataType)); + encoder.WriteString("SchemaLocation", SchemaLocation); + encoder.WriteEncodeableArray("FileHeader", FileHeader.ToArray(), typeof(KeyValuePair)); + encoder.WriteVariant("Body", Body); encoder.PopNamespace(); } @@ -8843,7 +9189,9 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - PublishedData = (PublishedVariableDataTypeCollection)decoder.ReadEncodeableArray("PublishedData", typeof(PublishedVariableDataType)); + SchemaLocation = decoder.ReadString("SchemaLocation"); + FileHeader = (KeyValuePairCollection)decoder.ReadEncodeableArray("FileHeader", typeof(KeyValuePair)); + Body = decoder.ReadVariant("Body"); decoder.PopNamespace(); } @@ -8856,14 +9204,16 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - PublishedDataItemsDataType value = encodeable as PublishedDataItemsDataType; + UABinaryFileDataType value = encodeable as UABinaryFileDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_publishedData, value.m_publishedData)) return false; + if (!Utils.IsEqual(m_schemaLocation, value.m_schemaLocation)) return false; + if (!Utils.IsEqual(m_fileHeader, value.m_fileHeader)) return false; + if (!Utils.IsEqual(m_body, value.m_body)) return false; return base.IsEqual(encodeable); } @@ -8871,57 +9221,61 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (PublishedDataItemsDataType)this.MemberwiseClone(); + return (UABinaryFileDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedDataItemsDataType clone = (PublishedDataItemsDataType)base.MemberwiseClone(); + UABinaryFileDataType clone = (UABinaryFileDataType)base.MemberwiseClone(); - clone.m_publishedData = (PublishedVariableDataTypeCollection)Utils.Clone(this.m_publishedData); + clone.m_schemaLocation = (string)Utils.Clone(this.m_schemaLocation); + clone.m_fileHeader = (KeyValuePairCollection)Utils.Clone(this.m_fileHeader); + clone.m_body = (Variant)Utils.Clone(this.m_body); return clone; } #endregion #region Private Fields - private PublishedVariableDataTypeCollection m_publishedData; + private string m_schemaLocation; + private KeyValuePairCollection m_fileHeader; + private Variant m_body; #endregion } - #region PublishedDataItemsDataTypeCollection Class + #region UABinaryFileDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedDataItemsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataItemsDataType")] - public partial class PublishedDataItemsDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUABinaryFileDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UABinaryFileDataType")] + public partial class UABinaryFileDataTypeCollection : List, ICloneable { #region Constructors /// - public PublishedDataItemsDataTypeCollection() {} + public UABinaryFileDataTypeCollection() {} /// - public PublishedDataItemsDataTypeCollection(int capacity) : base(capacity) {} + public UABinaryFileDataTypeCollection(int capacity) : base(capacity) {} /// - public PublishedDataItemsDataTypeCollection(IEnumerable collection) : base(collection) {} + public UABinaryFileDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedDataItemsDataTypeCollection(PublishedDataItemsDataType[] values) + public static implicit operator UABinaryFileDataTypeCollection(UABinaryFileDataType[] values) { if (values != null) { - return new PublishedDataItemsDataTypeCollection(values); + return new UABinaryFileDataTypeCollection(values); } - return new PublishedDataItemsDataTypeCollection(); + return new UABinaryFileDataTypeCollection(); } /// - public static explicit operator PublishedDataItemsDataType[](PublishedDataItemsDataTypeCollection values) + public static explicit operator UABinaryFileDataType[](UABinaryFileDataTypeCollection values) { if (values != null) { @@ -8936,18 +9290,18 @@ public static explicit operator PublishedDataItemsDataType[](PublishedDataItemsD /// public object Clone() { - return (PublishedDataItemsDataTypeCollection)this.MemberwiseClone(); + return (UABinaryFileDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedDataItemsDataTypeCollection clone = new PublishedDataItemsDataTypeCollection(this.Count); + UABinaryFileDataTypeCollection clone = new UABinaryFileDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedDataItemsDataType)Utils.Clone(this[ii])); + clone.Add((UABinaryFileDataType)Utils.Clone(this[ii])); } return clone; @@ -8957,206 +9311,164 @@ public object Clone() #endif #endregion - #region PublishedEventsDataType Class - #if (!OPCUA_EXCLUDE_PublishedEventsDataType) + #region PortableQualifiedName Class + #if (!OPCUA_EXCLUDE_PortableQualifiedName) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedEventsDataType : Opc.Ua.PublishedDataSetSourceDataType + public partial class PortableQualifiedName : IEncodeable, IJsonEncodeable { #region Constructors /// - public PublishedEventsDataType() + public PortableQualifiedName() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_eventNotifier = null; - m_selectedFields = new SimpleAttributeOperandCollection(); - m_filter = new ContentFilter(); + m_namespaceUri = null; + m_name = null; } #endregion #region Public Properties /// - [DataMember(Name = "EventNotifier", IsRequired = false, Order = 1)] - public NodeId EventNotifier - { - get { return m_eventNotifier; } - set { m_eventNotifier = value; } - } - - /// - [DataMember(Name = "SelectedFields", IsRequired = false, Order = 2)] - public SimpleAttributeOperandCollection SelectedFields + [DataMember(Name = "NamespaceUri", IsRequired = false, Order = 1)] + public string NamespaceUri { - get - { - return m_selectedFields; - } - - set - { - m_selectedFields = value; - - if (value == null) - { - m_selectedFields = new SimpleAttributeOperandCollection(); - } - } + get { return m_namespaceUri; } + set { m_namespaceUri = value; } } /// - [DataMember(Name = "Filter", IsRequired = false, Order = 3)] - public ContentFilter Filter + [DataMember(Name = "Name", IsRequired = false, Order = 2)] + public string Name { - get - { - return m_filter; - } - - set - { - m_filter = value; - - if (value == null) - { - m_filter = new ContentFilter(); - } - } + get { return m_name; } + set { m_name = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PublishedEventsDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PortableQualifiedName; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PortableQualifiedName_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("EventNotifier", EventNotifier); - encoder.WriteEncodeableArray("SelectedFields", SelectedFields.ToArray(), typeof(SimpleAttributeOperand)); - encoder.WriteEncodeable("Filter", Filter, typeof(ContentFilter)); + encoder.WriteString("NamespaceUri", NamespaceUri); + encoder.WriteString("Name", Name); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - EventNotifier = decoder.ReadNodeId("EventNotifier"); - SelectedFields = (SimpleAttributeOperandCollection)decoder.ReadEncodeableArray("SelectedFields", typeof(SimpleAttributeOperand)); - Filter = (ContentFilter)decoder.ReadEncodeable("Filter", typeof(ContentFilter)); + NamespaceUri = decoder.ReadString("NamespaceUri"); + Name = decoder.ReadString("Name"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedEventsDataType value = encodeable as PublishedEventsDataType; + PortableQualifiedName value = encodeable as PortableQualifiedName; if (value == null) { return false; } - if (!Utils.IsEqual(m_eventNotifier, value.m_eventNotifier)) return false; - if (!Utils.IsEqual(m_selectedFields, value.m_selectedFields)) return false; - if (!Utils.IsEqual(m_filter, value.m_filter)) return false; - - return base.IsEqual(encodeable); - } + if (!Utils.IsEqual(m_namespaceUri, value.m_namespaceUri)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (PublishedEventsDataType)this.MemberwiseClone(); + return (PortableQualifiedName)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedEventsDataType clone = (PublishedEventsDataType)base.MemberwiseClone(); + PortableQualifiedName clone = (PortableQualifiedName)base.MemberwiseClone(); - clone.m_eventNotifier = (NodeId)Utils.Clone(this.m_eventNotifier); - clone.m_selectedFields = (SimpleAttributeOperandCollection)Utils.Clone(this.m_selectedFields); - clone.m_filter = (ContentFilter)Utils.Clone(this.m_filter); + clone.m_namespaceUri = (string)Utils.Clone(this.m_namespaceUri); + clone.m_name = (string)Utils.Clone(this.m_name); return clone; } #endregion #region Private Fields - private NodeId m_eventNotifier; - private SimpleAttributeOperandCollection m_selectedFields; - private ContentFilter m_filter; + private string m_namespaceUri; + private string m_name; #endregion } - #region PublishedEventsDataTypeCollection Class + #region PortableQualifiedNameCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedEventsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedEventsDataType")] - public partial class PublishedEventsDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPortableQualifiedName", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortableQualifiedName")] + public partial class PortableQualifiedNameCollection : List, ICloneable { #region Constructors /// - public PublishedEventsDataTypeCollection() {} + public PortableQualifiedNameCollection() {} /// - public PublishedEventsDataTypeCollection(int capacity) : base(capacity) {} + public PortableQualifiedNameCollection(int capacity) : base(capacity) {} /// - public PublishedEventsDataTypeCollection(IEnumerable collection) : base(collection) {} + public PortableQualifiedNameCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedEventsDataTypeCollection(PublishedEventsDataType[] values) + public static implicit operator PortableQualifiedNameCollection(PortableQualifiedName[] values) { if (values != null) { - return new PublishedEventsDataTypeCollection(values); + return new PortableQualifiedNameCollection(values); } - return new PublishedEventsDataTypeCollection(); + return new PortableQualifiedNameCollection(); } /// - public static explicit operator PublishedEventsDataType[](PublishedEventsDataTypeCollection values) + public static explicit operator PortableQualifiedName[](PortableQualifiedNameCollection values) { if (values != null) { @@ -9171,18 +9483,18 @@ public static explicit operator PublishedEventsDataType[](PublishedEventsDataTyp /// public object Clone() { - return (PublishedEventsDataTypeCollection)this.MemberwiseClone(); + return (PortableQualifiedNameCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedEventsDataTypeCollection clone = new PublishedEventsDataTypeCollection(this.Count); + PortableQualifiedNameCollection clone = new PortableQualifiedNameCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedEventsDataType)Utils.Clone(this[ii])); + clone.Add((PortableQualifiedName)Utils.Clone(this[ii])); } return clone; @@ -9192,154 +9504,164 @@ public object Clone() #endif #endregion - #region PublishedDataSetCustomSourceDataType Class - #if (!OPCUA_EXCLUDE_PublishedDataSetCustomSourceDataType) + #region PortableNodeId Class + #if (!OPCUA_EXCLUDE_PortableNodeId) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedDataSetCustomSourceDataType : Opc.Ua.PublishedDataSetSourceDataType + public partial class PortableNodeId : IEncodeable, IJsonEncodeable { #region Constructors /// - public PublishedDataSetCustomSourceDataType() + public PortableNodeId() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_cyclicDataSet = true; + m_namespaceUri = null; + m_identifier = null; } #endregion #region Public Properties /// - [DataMember(Name = "CyclicDataSet", IsRequired = false, Order = 1)] - public bool CyclicDataSet + [DataMember(Name = "NamespaceUri", IsRequired = false, Order = 1)] + public string NamespaceUri { - get { return m_cyclicDataSet; } - set { m_cyclicDataSet = value; } + get { return m_namespaceUri; } + set { m_namespaceUri = value; } + } + + /// + [DataMember(Name = "Identifier", IsRequired = false, Order = 2)] + public NodeId Identifier + { + get { return m_identifier; } + set { m_identifier = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetCustomSourceDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PortableNodeId; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PortableNodeId_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteBoolean("CyclicDataSet", CyclicDataSet); + encoder.WriteString("NamespaceUri", NamespaceUri); + encoder.WriteNodeId("Identifier", Identifier); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - CyclicDataSet = decoder.ReadBoolean("CyclicDataSet"); + NamespaceUri = decoder.ReadString("NamespaceUri"); + Identifier = decoder.ReadNodeId("Identifier"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedDataSetCustomSourceDataType value = encodeable as PublishedDataSetCustomSourceDataType; + PortableNodeId value = encodeable as PortableNodeId; if (value == null) { return false; } - if (!Utils.IsEqual(m_cyclicDataSet, value.m_cyclicDataSet)) return false; + if (!Utils.IsEqual(m_namespaceUri, value.m_namespaceUri)) return false; + if (!Utils.IsEqual(m_identifier, value.m_identifier)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (PublishedDataSetCustomSourceDataType)this.MemberwiseClone(); + return (PortableNodeId)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedDataSetCustomSourceDataType clone = (PublishedDataSetCustomSourceDataType)base.MemberwiseClone(); + PortableNodeId clone = (PortableNodeId)base.MemberwiseClone(); - clone.m_cyclicDataSet = (bool)Utils.Clone(this.m_cyclicDataSet); + clone.m_namespaceUri = (string)Utils.Clone(this.m_namespaceUri); + clone.m_identifier = (NodeId)Utils.Clone(this.m_identifier); return clone; } #endregion #region Private Fields - private bool m_cyclicDataSet; + private string m_namespaceUri; + private NodeId m_identifier; #endregion } - #region PublishedDataSetCustomSourceDataTypeCollection Class + #region PortableNodeIdCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedDataSetCustomSourceDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetCustomSourceDataType")] - public partial class PublishedDataSetCustomSourceDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPortableNodeId", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortableNodeId")] + public partial class PortableNodeIdCollection : List, ICloneable { #region Constructors /// - public PublishedDataSetCustomSourceDataTypeCollection() {} + public PortableNodeIdCollection() {} /// - public PublishedDataSetCustomSourceDataTypeCollection(int capacity) : base(capacity) {} + public PortableNodeIdCollection(int capacity) : base(capacity) {} /// - public PublishedDataSetCustomSourceDataTypeCollection(IEnumerable collection) : base(collection) {} + public PortableNodeIdCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedDataSetCustomSourceDataTypeCollection(PublishedDataSetCustomSourceDataType[] values) + public static implicit operator PortableNodeIdCollection(PortableNodeId[] values) { if (values != null) { - return new PublishedDataSetCustomSourceDataTypeCollection(values); + return new PortableNodeIdCollection(values); } - return new PublishedDataSetCustomSourceDataTypeCollection(); + return new PortableNodeIdCollection(); } /// - public static explicit operator PublishedDataSetCustomSourceDataType[](PublishedDataSetCustomSourceDataTypeCollection values) + public static explicit operator PortableNodeId[](PortableNodeIdCollection values) { if (values != null) { @@ -9354,18 +9676,18 @@ public static explicit operator PublishedDataSetCustomSourceDataType[](Published /// public object Clone() { - return (PublishedDataSetCustomSourceDataTypeCollection)this.MemberwiseClone(); + return (PortableNodeIdCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedDataSetCustomSourceDataTypeCollection clone = new PublishedDataSetCustomSourceDataTypeCollection(this.Count); + PortableNodeIdCollection clone = new PortableNodeIdCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedDataSetCustomSourceDataType)Utils.Clone(this[ii])); + clone.Add((PortableNodeId)Utils.Clone(this[ii])); } return clone; @@ -9375,17 +9697,17 @@ public object Clone() #endif #endregion - #region ActionTargetDataType Class - #if (!OPCUA_EXCLUDE_ActionTargetDataType) + #region UnsignedRationalNumber Class + #if (!OPCUA_EXCLUDE_UnsignedRationalNumber) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ActionTargetDataType : IEncodeable, IJsonEncodeable + public partial class UnsignedRationalNumber : IEncodeable, IJsonEncodeable { #region Constructors /// - public ActionTargetDataType() + public UnsignedRationalNumber() { Initialize(); } @@ -9398,59 +9720,49 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_actionTargetId = (ushort)0; - m_name = null; - m_description = null; + m_numerator = (uint)0; + m_denominator = (uint)0; } #endregion #region Public Properties /// - [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 1)] - public ushort ActionTargetId - { - get { return m_actionTargetId; } - set { m_actionTargetId = value; } - } - - /// - [DataMember(Name = "Name", IsRequired = false, Order = 2)] - public string Name + [DataMember(Name = "Numerator", IsRequired = false, Order = 1)] + public uint Numerator { - get { return m_name; } - set { m_name = value; } + get { return m_numerator; } + set { m_numerator = value; } } /// - [DataMember(Name = "Description", IsRequired = false, Order = 3)] - public LocalizedText Description + [DataMember(Name = "Denominator", IsRequired = false, Order = 2)] + public uint Denominator { - get { return m_description; } - set { m_description = value; } + get { return m_denominator; } + set { m_denominator = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ActionTargetDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.UnsignedRationalNumber; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.UnsignedRationalNumber_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt16("ActionTargetId", ActionTargetId); - encoder.WriteString("Name", Name); - encoder.WriteLocalizedText("Description", Description); + encoder.WriteUInt32("Numerator", Numerator); + encoder.WriteUInt32("Denominator", Denominator); encoder.PopNamespace(); } @@ -9460,9 +9772,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ActionTargetId = decoder.ReadUInt16("ActionTargetId"); - Name = decoder.ReadString("Name"); - Description = decoder.ReadLocalizedText("Description"); + Numerator = decoder.ReadUInt32("Numerator"); + Denominator = decoder.ReadUInt32("Denominator"); decoder.PopNamespace(); } @@ -9475,16 +9786,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ActionTargetDataType value = encodeable as ActionTargetDataType; + UnsignedRationalNumber value = encodeable as UnsignedRationalNumber; if (value == null) { return false; } - if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; + if (!Utils.IsEqual(m_numerator, value.m_numerator)) return false; + if (!Utils.IsEqual(m_denominator, value.m_denominator)) return false; return true; } @@ -9492,61 +9802,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ActionTargetDataType)this.MemberwiseClone(); + return (UnsignedRationalNumber)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ActionTargetDataType clone = (ActionTargetDataType)base.MemberwiseClone(); + UnsignedRationalNumber clone = (UnsignedRationalNumber)base.MemberwiseClone(); - clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_description = (LocalizedText)Utils.Clone(this.m_description); + clone.m_numerator = (uint)Utils.Clone(this.m_numerator); + clone.m_denominator = (uint)Utils.Clone(this.m_denominator); return clone; } #endregion #region Private Fields - private ushort m_actionTargetId; - private string m_name; - private LocalizedText m_description; + private uint m_numerator; + private uint m_denominator; #endregion } - #region ActionTargetDataTypeCollection Class + #region UnsignedRationalNumberCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfActionTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionTargetDataType")] - public partial class ActionTargetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUnsignedRationalNumber", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UnsignedRationalNumber")] + public partial class UnsignedRationalNumberCollection : List, ICloneable { #region Constructors /// - public ActionTargetDataTypeCollection() {} + public UnsignedRationalNumberCollection() {} /// - public ActionTargetDataTypeCollection(int capacity) : base(capacity) {} + public UnsignedRationalNumberCollection(int capacity) : base(capacity) {} /// - public ActionTargetDataTypeCollection(IEnumerable collection) : base(collection) {} + public UnsignedRationalNumberCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ActionTargetDataTypeCollection(ActionTargetDataType[] values) + public static implicit operator UnsignedRationalNumberCollection(UnsignedRationalNumber[] values) { if (values != null) { - return new ActionTargetDataTypeCollection(values); + return new UnsignedRationalNumberCollection(values); } - return new ActionTargetDataTypeCollection(); + return new UnsignedRationalNumberCollection(); } /// - public static explicit operator ActionTargetDataType[](ActionTargetDataTypeCollection values) + public static explicit operator UnsignedRationalNumber[](UnsignedRationalNumberCollection values) { if (values != null) { @@ -9561,18 +9869,18 @@ public static explicit operator ActionTargetDataType[](ActionTargetDataTypeColle /// public object Clone() { - return (ActionTargetDataTypeCollection)this.MemberwiseClone(); + return (UnsignedRationalNumberCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ActionTargetDataTypeCollection clone = new ActionTargetDataTypeCollection(this.Count); + UnsignedRationalNumberCollection clone = new UnsignedRationalNumberCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ActionTargetDataType)Utils.Clone(this[ii])); + clone.Add((UnsignedRationalNumber)Utils.Clone(this[ii])); } return clone; @@ -9582,17 +9890,113 @@ public object Clone() #endif #endregion - #region PublishedActionDataType Class - #if (!OPCUA_EXCLUDE_PublishedActionDataType) + #region PubSubState Enumeration + #if (!OPCUA_EXCLUDE_PubSubState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedActionDataType : Opc.Ua.PublishedDataSetSourceDataType + public enum PubSubState + { + /// + [EnumMember(Value = "Disabled_0")] + Disabled = 0, + + /// + [EnumMember(Value = "Paused_1")] + Paused = 1, + + /// + [EnumMember(Value = "Operational_2")] + Operational = 2, + + /// + [EnumMember(Value = "Error_3")] + Error = 3, + + /// + [EnumMember(Value = "PreOperational_4")] + PreOperational = 4, + } + + #region PubSubStateCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPubSubState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubState")] + public partial class PubSubStateCollection : List, ICloneable { #region Constructors /// - public PublishedActionDataType() + public PubSubStateCollection() {} + + /// + public PubSubStateCollection(int capacity) : base(capacity) {} + + /// + public PubSubStateCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PubSubStateCollection(PubSubState[] values) + { + if (values != null) + { + return new PubSubStateCollection(values); + } + + return new PubSubStateCollection(); + } + + /// + public static explicit operator PubSubState[](PubSubStateCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (PubSubStateCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + PubSubStateCollection clone = new PubSubStateCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PubSubState)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region DataSetMetaDataType Class + #if (!OPCUA_EXCLUDE_DataSetMetaDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class DataSetMetaDataType : Opc.Ua.DataTypeSchemaHeader + { + #region Constructors + /// + public DataSetMetaDataType() { Initialize(); } @@ -9605,48 +10009,75 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_requestDataSetMetaData = new DataSetMetaDataType(); - m_actionTargets = new ActionTargetDataTypeCollection(); + m_name = null; + m_description = null; + m_fields = new FieldMetaDataCollection(); + m_dataSetClassId = Uuid.Empty; + m_configurationVersion = new ConfigurationVersionDataType(); } #endregion #region Public Properties /// - [DataMember(Name = "RequestDataSetMetaData", IsRequired = false, Order = 1)] - public DataSetMetaDataType RequestDataSetMetaData + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name + { + get { return m_name; } + set { m_name = value; } + } + + /// + [DataMember(Name = "Description", IsRequired = false, Order = 2)] + public LocalizedText Description + { + get { return m_description; } + set { m_description = value; } + } + + /// + [DataMember(Name = "Fields", IsRequired = false, Order = 3)] + public FieldMetaDataCollection Fields { get { - return m_requestDataSetMetaData; + return m_fields; } set { - m_requestDataSetMetaData = value; + m_fields = value; if (value == null) { - m_requestDataSetMetaData = new DataSetMetaDataType(); + m_fields = new FieldMetaDataCollection(); } } } /// - [DataMember(Name = "ActionTargets", IsRequired = false, Order = 2)] - public ActionTargetDataTypeCollection ActionTargets + [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 4)] + public Uuid DataSetClassId + { + get { return m_dataSetClassId; } + set { m_dataSetClassId = value; } + } + + /// + [DataMember(Name = "ConfigurationVersion", IsRequired = false, Order = 5)] + public ConfigurationVersionDataType ConfigurationVersion { get { - return m_actionTargets; + return m_configurationVersion; } set { - m_actionTargets = value; + m_configurationVersion = value; if (value == null) { - m_actionTargets = new ActionTargetDataTypeCollection(); + m_configurationVersion = new ConfigurationVersionDataType(); } } } @@ -9654,16 +10085,16 @@ public ActionTargetDataTypeCollection ActionTargets #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PublishedActionDataType; + public override ExpandedNodeId TypeId => DataTypeIds.DataSetMetaDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.DataSetMetaDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -9672,8 +10103,11 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeable("RequestDataSetMetaData", RequestDataSetMetaData, typeof(DataSetMetaDataType)); - encoder.WriteEncodeableArray("ActionTargets", ActionTargets.ToArray(), typeof(ActionTargetDataType)); + encoder.WriteString("Name", Name); + encoder.WriteLocalizedText("Description", Description); + encoder.WriteEncodeableArray("Fields", Fields.ToArray(), typeof(FieldMetaData)); + encoder.WriteGuid("DataSetClassId", DataSetClassId); + encoder.WriteEncodeable("ConfigurationVersion", ConfigurationVersion, typeof(ConfigurationVersionDataType)); encoder.PopNamespace(); } @@ -9685,8 +10119,11 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - RequestDataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("RequestDataSetMetaData", typeof(DataSetMetaDataType)); - ActionTargets = (ActionTargetDataTypeCollection)decoder.ReadEncodeableArray("ActionTargets", typeof(ActionTargetDataType)); + Name = decoder.ReadString("Name"); + Description = decoder.ReadLocalizedText("Description"); + Fields = (FieldMetaDataCollection)decoder.ReadEncodeableArray("Fields", typeof(FieldMetaData)); + DataSetClassId = decoder.ReadGuid("DataSetClassId"); + ConfigurationVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("ConfigurationVersion", typeof(ConfigurationVersionDataType)); decoder.PopNamespace(); } @@ -9699,15 +10136,18 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - PublishedActionDataType value = encodeable as PublishedActionDataType; + DataSetMetaDataType value = encodeable as DataSetMetaDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_requestDataSetMetaData, value.m_requestDataSetMetaData)) return false; - if (!Utils.IsEqual(m_actionTargets, value.m_actionTargets)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; + if (!Utils.IsEqual(m_fields, value.m_fields)) return false; + if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; + if (!Utils.IsEqual(m_configurationVersion, value.m_configurationVersion)) return false; return base.IsEqual(encodeable); } @@ -9715,59 +10155,65 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (PublishedActionDataType)this.MemberwiseClone(); + return (DataSetMetaDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedActionDataType clone = (PublishedActionDataType)base.MemberwiseClone(); + DataSetMetaDataType clone = (DataSetMetaDataType)base.MemberwiseClone(); - clone.m_requestDataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_requestDataSetMetaData); - clone.m_actionTargets = (ActionTargetDataTypeCollection)Utils.Clone(this.m_actionTargets); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_description = (LocalizedText)Utils.Clone(this.m_description); + clone.m_fields = (FieldMetaDataCollection)Utils.Clone(this.m_fields); + clone.m_dataSetClassId = (Uuid)Utils.Clone(this.m_dataSetClassId); + clone.m_configurationVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_configurationVersion); return clone; } #endregion #region Private Fields - private DataSetMetaDataType m_requestDataSetMetaData; - private ActionTargetDataTypeCollection m_actionTargets; + private string m_name; + private LocalizedText m_description; + private FieldMetaDataCollection m_fields; + private Uuid m_dataSetClassId; + private ConfigurationVersionDataType m_configurationVersion; #endregion } - #region PublishedActionDataTypeCollection Class + #region DataSetMetaDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedActionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedActionDataType")] - public partial class PublishedActionDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetMetaDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetMetaDataType")] + public partial class DataSetMetaDataTypeCollection : List, ICloneable { #region Constructors /// - public PublishedActionDataTypeCollection() {} + public DataSetMetaDataTypeCollection() {} /// - public PublishedActionDataTypeCollection(int capacity) : base(capacity) {} + public DataSetMetaDataTypeCollection(int capacity) : base(capacity) {} /// - public PublishedActionDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetMetaDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedActionDataTypeCollection(PublishedActionDataType[] values) + public static implicit operator DataSetMetaDataTypeCollection(DataSetMetaDataType[] values) { if (values != null) { - return new PublishedActionDataTypeCollection(values); + return new DataSetMetaDataTypeCollection(values); } - return new PublishedActionDataTypeCollection(); + return new DataSetMetaDataTypeCollection(); } /// - public static explicit operator PublishedActionDataType[](PublishedActionDataTypeCollection values) + public static explicit operator DataSetMetaDataType[](DataSetMetaDataTypeCollection values) { if (values != null) { @@ -9782,18 +10228,18 @@ public static explicit operator PublishedActionDataType[](PublishedActionDataTyp /// public object Clone() { - return (PublishedActionDataTypeCollection)this.MemberwiseClone(); + return (DataSetMetaDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedActionDataTypeCollection clone = new PublishedActionDataTypeCollection(this.Count); + DataSetMetaDataTypeCollection clone = new DataSetMetaDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedActionDataType)Utils.Clone(this[ii])); + clone.Add((DataSetMetaDataType)Utils.Clone(this[ii])); } return clone; @@ -9803,160 +10249,176 @@ public object Clone() #endif #endregion - #region ActionState Enumeration - #if (!OPCUA_EXCLUDE_ActionState) + #region FieldMetaData Class + #if (!OPCUA_EXCLUDE_FieldMetaData) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum ActionState - { - /// - [EnumMember(Value = "Idle_0")] - Idle = 0, - - /// - [EnumMember(Value = "Executing_1")] - Executing = 1, - - /// - [EnumMember(Value = "Done_2")] - Done = 2, - } - - #region ActionStateCollection Class - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfActionState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionState")] - public partial class ActionStateCollection : List, ICloneable + public partial class FieldMetaData : IEncodeable, IJsonEncodeable { #region Constructors /// - public ActionStateCollection() {} + public FieldMetaData() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_name = null; + m_description = null; + m_fieldFlags = 0; + m_builtInType = (byte)0; + m_dataType = null; + m_valueRank = (int)0; + m_arrayDimensions = new UInt32Collection(); + m_maxStringLength = (uint)0; + m_dataSetFieldId = Uuid.Empty; + m_properties = new KeyValuePairCollection(); + } + #endregion + #region Public Properties /// - public ActionStateCollection(int capacity) : base(capacity) {} + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name + { + get { return m_name; } + set { m_name = value; } + } /// - public ActionStateCollection(IEnumerable collection) : base(collection) {} - #endregion + [DataMember(Name = "Description", IsRequired = false, Order = 2)] + public LocalizedText Description + { + get { return m_description; } + set { m_description = value; } + } - #region Static Operators /// - public static implicit operator ActionStateCollection(ActionState[] values) + [DataMember(Name = "FieldFlags", IsRequired = false, Order = 3)] + public ushort FieldFlags { - if (values != null) - { - return new ActionStateCollection(values); - } - - return new ActionStateCollection(); + get { return m_fieldFlags; } + set { m_fieldFlags = value; } } /// - public static explicit operator ActionState[](ActionStateCollection values) + [DataMember(Name = "BuiltInType", IsRequired = false, Order = 4)] + public byte BuiltInType { - if (values != null) - { - return values.ToArray(); - } - - return null; + get { return m_builtInType; } + set { m_builtInType = value; } } - #endregion - #region ICloneable Methods /// - public object Clone() + [DataMember(Name = "DataType", IsRequired = false, Order = 5)] + public NodeId DataType { - return (ActionStateCollection)this.MemberwiseClone(); + get { return m_dataType; } + set { m_dataType = value; } } - #endregion - /// - public new object MemberwiseClone() + /// + [DataMember(Name = "ValueRank", IsRequired = false, Order = 6)] + public int ValueRank { - ActionStateCollection clone = new ActionStateCollection(this.Count); + get { return m_valueRank; } + set { m_valueRank = value; } + } - for (int ii = 0; ii < this.Count; ii++) + /// + [DataMember(Name = "ArrayDimensions", IsRequired = false, Order = 7)] + public UInt32Collection ArrayDimensions + { + get { - clone.Add((ActionState)Utils.Clone(this[ii])); + return m_arrayDimensions; } - return clone; + set + { + m_arrayDimensions = value; + + if (value == null) + { + m_arrayDimensions = new UInt32Collection(); + } + } } - } - #endregion - #endif - #endregion - #region ActionMethodDataType Class - #if (!OPCUA_EXCLUDE_ActionMethodDataType) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ActionMethodDataType : IEncodeable, IJsonEncodeable - { - #region Constructors /// - public ActionMethodDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() + [DataMember(Name = "MaxStringLength", IsRequired = false, Order = 8)] + public uint MaxStringLength { - m_objectId = null; - m_methodId = null; + get { return m_maxStringLength; } + set { m_maxStringLength = value; } } - #endregion - #region Public Properties /// - [DataMember(Name = "ObjectId", IsRequired = false, Order = 1)] - public NodeId ObjectId + [DataMember(Name = "DataSetFieldId", IsRequired = false, Order = 9)] + public Uuid DataSetFieldId { - get { return m_objectId; } - set { m_objectId = value; } + get { return m_dataSetFieldId; } + set { m_dataSetFieldId = value; } } /// - [DataMember(Name = "MethodId", IsRequired = false, Order = 2)] - public NodeId MethodId + [DataMember(Name = "Properties", IsRequired = false, Order = 10)] + public KeyValuePairCollection Properties { - get { return m_methodId; } - set { m_methodId = value; } + get + { + return m_properties; + } + + set + { + m_properties = value; + + if (value == null) + { + m_properties = new KeyValuePairCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ActionMethodDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.FieldMetaData; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.FieldMetaData_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("ObjectId", ObjectId); - encoder.WriteNodeId("MethodId", MethodId); + encoder.WriteString("Name", Name); + encoder.WriteLocalizedText("Description", Description); + encoder.WriteUInt16("FieldFlags", FieldFlags); + encoder.WriteByte("BuiltInType", BuiltInType); + encoder.WriteNodeId("DataType", DataType); + encoder.WriteInt32("ValueRank", ValueRank); + encoder.WriteUInt32Array("ArrayDimensions", ArrayDimensions); + encoder.WriteUInt32("MaxStringLength", MaxStringLength); + encoder.WriteGuid("DataSetFieldId", DataSetFieldId); + encoder.WriteEncodeableArray("Properties", Properties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } @@ -9966,8 +10428,16 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ObjectId = decoder.ReadNodeId("ObjectId"); - MethodId = decoder.ReadNodeId("MethodId"); + Name = decoder.ReadString("Name"); + Description = decoder.ReadLocalizedText("Description"); + FieldFlags = decoder.ReadUInt16("FieldFlags"); + BuiltInType = decoder.ReadByte("BuiltInType"); + DataType = decoder.ReadNodeId("DataType"); + ValueRank = decoder.ReadInt32("ValueRank"); + ArrayDimensions = decoder.ReadUInt32Array("ArrayDimensions"); + MaxStringLength = decoder.ReadUInt32("MaxStringLength"); + DataSetFieldId = decoder.ReadGuid("DataSetFieldId"); + Properties = (KeyValuePairCollection)decoder.ReadEncodeableArray("Properties", typeof(KeyValuePair)); decoder.PopNamespace(); } @@ -9980,15 +10450,23 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ActionMethodDataType value = encodeable as ActionMethodDataType; + FieldMetaData value = encodeable as FieldMetaData; if (value == null) { return false; } - if (!Utils.IsEqual(m_objectId, value.m_objectId)) return false; - if (!Utils.IsEqual(m_methodId, value.m_methodId)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; + if (!Utils.IsEqual(m_fieldFlags, value.m_fieldFlags)) return false; + if (!Utils.IsEqual(m_builtInType, value.m_builtInType)) return false; + if (!Utils.IsEqual(m_dataType, value.m_dataType)) return false; + if (!Utils.IsEqual(m_valueRank, value.m_valueRank)) return false; + if (!Utils.IsEqual(m_arrayDimensions, value.m_arrayDimensions)) return false; + if (!Utils.IsEqual(m_maxStringLength, value.m_maxStringLength)) return false; + if (!Utils.IsEqual(m_dataSetFieldId, value.m_dataSetFieldId)) return false; + if (!Utils.IsEqual(m_properties, value.m_properties)) return false; return true; } @@ -9996,59 +10474,75 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ActionMethodDataType)this.MemberwiseClone(); + return (FieldMetaData)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ActionMethodDataType clone = (ActionMethodDataType)base.MemberwiseClone(); + FieldMetaData clone = (FieldMetaData)base.MemberwiseClone(); - clone.m_objectId = (NodeId)Utils.Clone(this.m_objectId); - clone.m_methodId = (NodeId)Utils.Clone(this.m_methodId); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_description = (LocalizedText)Utils.Clone(this.m_description); + clone.m_fieldFlags = (ushort)Utils.Clone(this.m_fieldFlags); + clone.m_builtInType = (byte)Utils.Clone(this.m_builtInType); + clone.m_dataType = (NodeId)Utils.Clone(this.m_dataType); + clone.m_valueRank = (int)Utils.Clone(this.m_valueRank); + clone.m_arrayDimensions = (UInt32Collection)Utils.Clone(this.m_arrayDimensions); + clone.m_maxStringLength = (uint)Utils.Clone(this.m_maxStringLength); + clone.m_dataSetFieldId = (Uuid)Utils.Clone(this.m_dataSetFieldId); + clone.m_properties = (KeyValuePairCollection)Utils.Clone(this.m_properties); return clone; } #endregion #region Private Fields - private NodeId m_objectId; - private NodeId m_methodId; + private string m_name; + private LocalizedText m_description; + private ushort m_fieldFlags; + private byte m_builtInType; + private NodeId m_dataType; + private int m_valueRank; + private UInt32Collection m_arrayDimensions; + private uint m_maxStringLength; + private Uuid m_dataSetFieldId; + private KeyValuePairCollection m_properties; #endregion } - #region ActionMethodDataTypeCollection Class + #region FieldMetaDataCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfActionMethodDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionMethodDataType")] - public partial class ActionMethodDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfFieldMetaData", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "FieldMetaData")] + public partial class FieldMetaDataCollection : List, ICloneable { #region Constructors /// - public ActionMethodDataTypeCollection() {} + public FieldMetaDataCollection() {} /// - public ActionMethodDataTypeCollection(int capacity) : base(capacity) {} + public FieldMetaDataCollection(int capacity) : base(capacity) {} /// - public ActionMethodDataTypeCollection(IEnumerable collection) : base(collection) {} + public FieldMetaDataCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ActionMethodDataTypeCollection(ActionMethodDataType[] values) + public static implicit operator FieldMetaDataCollection(FieldMetaData[] values) { if (values != null) { - return new ActionMethodDataTypeCollection(values); + return new FieldMetaDataCollection(values); } - return new ActionMethodDataTypeCollection(); + return new FieldMetaDataCollection(); } /// - public static explicit operator ActionMethodDataType[](ActionMethodDataTypeCollection values) + public static explicit operator FieldMetaData[](FieldMetaDataCollection values) { if (values != null) { @@ -10063,18 +10557,18 @@ public static explicit operator ActionMethodDataType[](ActionMethodDataTypeColle /// public object Clone() { - return (ActionMethodDataTypeCollection)this.MemberwiseClone(); + return (FieldMetaDataCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ActionMethodDataTypeCollection clone = new ActionMethodDataTypeCollection(this.Count); + FieldMetaDataCollection clone = new FieldMetaDataCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ActionMethodDataType)Utils.Clone(this[ii])); + clone.Add((FieldMetaData)Utils.Clone(this[ii])); } return clone; @@ -10084,166 +10578,183 @@ public object Clone() #endif #endregion - #region PublishedActionMethodDataType Class - #if (!OPCUA_EXCLUDE_PublishedActionMethodDataType) + #region DataSetFieldFlags Enumeration + #if (!OPCUA_EXCLUDE_DataSetFieldFlags) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum DataSetFieldFlags : UInt16 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "PromotedField_1")] + PromotedField = 1, + } + #endif + #endregion + + #region ConfigurationVersionDataType Class + #if (!OPCUA_EXCLUDE_ConfigurationVersionDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PublishedActionMethodDataType : Opc.Ua.PublishedActionDataType + public partial class ConfigurationVersionDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public PublishedActionMethodDataType() + public ConfigurationVersionDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_actionMethods = new ActionMethodDataTypeCollection(); + m_majorVersion = (uint)0; + m_minorVersion = (uint)0; } #endregion #region Public Properties /// - [DataMember(Name = "ActionMethods", IsRequired = false, Order = 1)] - public ActionMethodDataTypeCollection ActionMethods + [DataMember(Name = "MajorVersion", IsRequired = false, Order = 1)] + public uint MajorVersion { - get - { - return m_actionMethods; - } - - set - { - m_actionMethods = value; + get { return m_majorVersion; } + set { m_majorVersion = value; } + } - if (value == null) - { - m_actionMethods = new ActionMethodDataTypeCollection(); - } - } + /// + [DataMember(Name = "MinorVersion", IsRequired = false, Order = 2)] + public uint MinorVersion + { + get { return m_minorVersion; } + set { m_minorVersion = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PublishedActionMethodDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ConfigurationVersionDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ConfigurationVersionDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeableArray("ActionMethods", ActionMethods.ToArray(), typeof(ActionMethodDataType)); + encoder.WriteUInt32("MajorVersion", MajorVersion); + encoder.WriteUInt32("MinorVersion", MinorVersion); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ActionMethods = (ActionMethodDataTypeCollection)decoder.ReadEncodeableArray("ActionMethods", typeof(ActionMethodDataType)); + MajorVersion = decoder.ReadUInt32("MajorVersion"); + MinorVersion = decoder.ReadUInt32("MinorVersion"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PublishedActionMethodDataType value = encodeable as PublishedActionMethodDataType; + ConfigurationVersionDataType value = encodeable as ConfigurationVersionDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_actionMethods, value.m_actionMethods)) return false; + if (!Utils.IsEqual(m_majorVersion, value.m_majorVersion)) return false; + if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (PublishedActionMethodDataType)this.MemberwiseClone(); + return (ConfigurationVersionDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PublishedActionMethodDataType clone = (PublishedActionMethodDataType)base.MemberwiseClone(); + ConfigurationVersionDataType clone = (ConfigurationVersionDataType)base.MemberwiseClone(); - clone.m_actionMethods = (ActionMethodDataTypeCollection)Utils.Clone(this.m_actionMethods); + clone.m_majorVersion = (uint)Utils.Clone(this.m_majorVersion); + clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); return clone; } #endregion #region Private Fields - private ActionMethodDataTypeCollection m_actionMethods; + private uint m_majorVersion; + private uint m_minorVersion; #endregion } - #region PublishedActionMethodDataTypeCollection Class + #region ConfigurationVersionDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPublishedActionMethodDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedActionMethodDataType")] - public partial class PublishedActionMethodDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfConfigurationVersionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConfigurationVersionDataType")] + public partial class ConfigurationVersionDataTypeCollection : List, ICloneable { #region Constructors /// - public PublishedActionMethodDataTypeCollection() {} + public ConfigurationVersionDataTypeCollection() {} /// - public PublishedActionMethodDataTypeCollection(int capacity) : base(capacity) {} + public ConfigurationVersionDataTypeCollection(int capacity) : base(capacity) {} /// - public PublishedActionMethodDataTypeCollection(IEnumerable collection) : base(collection) {} + public ConfigurationVersionDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PublishedActionMethodDataTypeCollection(PublishedActionMethodDataType[] values) + public static implicit operator ConfigurationVersionDataTypeCollection(ConfigurationVersionDataType[] values) { if (values != null) { - return new PublishedActionMethodDataTypeCollection(values); + return new ConfigurationVersionDataTypeCollection(values); } - return new PublishedActionMethodDataTypeCollection(); + return new ConfigurationVersionDataTypeCollection(); } /// - public static explicit operator PublishedActionMethodDataType[](PublishedActionMethodDataTypeCollection values) + public static explicit operator ConfigurationVersionDataType[](ConfigurationVersionDataTypeCollection values) { if (values != null) { @@ -10258,18 +10769,18 @@ public static explicit operator PublishedActionMethodDataType[](PublishedActionM /// public object Clone() { - return (PublishedActionMethodDataTypeCollection)this.MemberwiseClone(); + return (ConfigurationVersionDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PublishedActionMethodDataTypeCollection clone = new PublishedActionMethodDataTypeCollection(this.Count); + ConfigurationVersionDataTypeCollection clone = new ConfigurationVersionDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PublishedActionMethodDataType)Utils.Clone(this[ii])); + clone.Add((ConfigurationVersionDataType)Utils.Clone(this[ii])); } return clone; @@ -10279,243 +10790,127 @@ public object Clone() #endif #endregion - #region DataSetFieldContentMask Enumeration - #if (!OPCUA_EXCLUDE_DataSetFieldContentMask) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum DataSetFieldContentMask : UInt32 - { - /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "StatusCode_1")] - StatusCode = 1, - - /// - [EnumMember(Value = "SourceTimestamp_2")] - SourceTimestamp = 2, - - /// - [EnumMember(Value = "ServerTimestamp_4")] - ServerTimestamp = 4, - - /// - [EnumMember(Value = "SourcePicoSeconds_8")] - SourcePicoSeconds = 8, - - /// - [EnumMember(Value = "ServerPicoSeconds_16")] - ServerPicoSeconds = 16, - - /// - [EnumMember(Value = "RawData_32")] - RawData = 32, - } - - #region DataSetFieldContentMaskCollection Class + #region PublishedDataSetDataType Class + #if (!OPCUA_EXCLUDE_PublishedDataSetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetFieldContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetFieldContentMask")] - public partial class DataSetFieldContentMaskCollection : List, ICloneable + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class PublishedDataSetDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataSetFieldContentMaskCollection() {} - - /// - public DataSetFieldContentMaskCollection(int capacity) : base(capacity) {} + public PublishedDataSetDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_name = null; + m_dataSetFolder = new StringCollection(); + m_dataSetMetaData = new DataSetMetaDataType(); + m_extensionFields = new KeyValuePairCollection(); + m_dataSetSource = null; + } + #endregion + #region Public Properties /// - public DataSetFieldContentMaskCollection(IEnumerable collection) : base(collection) {} - #endregion + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name + { + get { return m_name; } + set { m_name = value; } + } - #region Static Operators /// - public static implicit operator DataSetFieldContentMaskCollection(DataSetFieldContentMask[] values) + [DataMember(Name = "DataSetFolder", IsRequired = false, Order = 2)] + public StringCollection DataSetFolder { - if (values != null) + get { - return new DataSetFieldContentMaskCollection(values); + return m_dataSetFolder; } - return new DataSetFieldContentMaskCollection(); + set + { + m_dataSetFolder = value; + + if (value == null) + { + m_dataSetFolder = new StringCollection(); + } + } } /// - public static explicit operator DataSetFieldContentMask[](DataSetFieldContentMaskCollection values) + [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 3)] + public DataSetMetaDataType DataSetMetaData { - if (values != null) + get { - return values.ToArray(); + return m_dataSetMetaData; } - return null; + set + { + m_dataSetMetaData = value; + + if (value == null) + { + m_dataSetMetaData = new DataSetMetaDataType(); + } + } } - #endregion - #region ICloneable Methods /// - public object Clone() - { - return (DataSetFieldContentMaskCollection)this.MemberwiseClone(); - } - #endregion - - /// - public new object MemberwiseClone() - { - DataSetFieldContentMaskCollection clone = new DataSetFieldContentMaskCollection(this.Count); - - for (int ii = 0; ii < this.Count; ii++) - { - clone.Add((DataSetFieldContentMask)Utils.Clone(this[ii])); - } - - return clone; - } - } - #endregion - #endif - #endregion - - #region DataSetWriterDataType Class - #if (!OPCUA_EXCLUDE_DataSetWriterDataType) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetWriterDataType : IEncodeable, IJsonEncodeable - { - #region Constructors - /// - public DataSetWriterDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - m_name = null; - m_enabled = true; - m_dataSetWriterId = (ushort)0; - m_dataSetFieldContentMask = 0; - m_keyFrameCount = (uint)0; - m_dataSetName = null; - m_dataSetWriterProperties = new KeyValuePairCollection(); - m_transportSettings = null; - m_messageSettings = null; - } - #endregion - - #region Public Properties - /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] - public bool Enabled - { - get { return m_enabled; } - set { m_enabled = value; } - } - - /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 3)] - public ushort DataSetWriterId - { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } - } - - /// - [DataMember(Name = "DataSetFieldContentMask", IsRequired = false, Order = 4)] - public uint DataSetFieldContentMask - { - get { return m_dataSetFieldContentMask; } - set { m_dataSetFieldContentMask = value; } - } - - /// - [DataMember(Name = "KeyFrameCount", IsRequired = false, Order = 5)] - public uint KeyFrameCount - { - get { return m_keyFrameCount; } - set { m_keyFrameCount = value; } - } - - /// - [DataMember(Name = "DataSetName", IsRequired = false, Order = 6)] - public string DataSetName - { - get { return m_dataSetName; } - set { m_dataSetName = value; } - } - - /// - [DataMember(Name = "DataSetWriterProperties", IsRequired = false, Order = 7)] - public KeyValuePairCollection DataSetWriterProperties + [DataMember(Name = "ExtensionFields", IsRequired = false, Order = 4)] + public KeyValuePairCollection ExtensionFields { get { - return m_dataSetWriterProperties; + return m_extensionFields; } set { - m_dataSetWriterProperties = value; + m_extensionFields = value; if (value == null) { - m_dataSetWriterProperties = new KeyValuePairCollection(); + m_extensionFields = new KeyValuePairCollection(); } } } /// - [DataMember(Name = "TransportSettings", IsRequired = false, Order = 8)] - public ExtensionObject TransportSettings - { - get { return m_transportSettings; } - set { m_transportSettings = value; } - } - - /// - [DataMember(Name = "MessageSettings", IsRequired = false, Order = 9)] - public ExtensionObject MessageSettings + [DataMember(Name = "DataSetSource", IsRequired = false, Order = 5)] + public ExtensionObject DataSetSource { - get { return m_messageSettings; } - set { m_messageSettings = value; } + get { return m_dataSetSource; } + set { m_dataSetSource = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -10523,14 +10918,10 @@ public virtual void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); encoder.WriteString("Name", Name); - encoder.WriteBoolean("Enabled", Enabled); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteUInt32("DataSetFieldContentMask", DataSetFieldContentMask); - encoder.WriteUInt32("KeyFrameCount", KeyFrameCount); - encoder.WriteString("DataSetName", DataSetName); - encoder.WriteEncodeableArray("DataSetWriterProperties", DataSetWriterProperties.ToArray(), typeof(KeyValuePair)); - encoder.WriteExtensionObject("TransportSettings", TransportSettings); - encoder.WriteExtensionObject("MessageSettings", MessageSettings); + encoder.WriteStringArray("DataSetFolder", DataSetFolder); + encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); + encoder.WriteEncodeableArray("ExtensionFields", ExtensionFields.ToArray(), typeof(KeyValuePair)); + encoder.WriteExtensionObject("DataSetSource", DataSetSource); encoder.PopNamespace(); } @@ -10541,14 +10932,10 @@ public virtual void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); Name = decoder.ReadString("Name"); - Enabled = decoder.ReadBoolean("Enabled"); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - DataSetFieldContentMask = decoder.ReadUInt32("DataSetFieldContentMask"); - KeyFrameCount = decoder.ReadUInt32("KeyFrameCount"); - DataSetName = decoder.ReadString("DataSetName"); - DataSetWriterProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("DataSetWriterProperties", typeof(KeyValuePair)); - TransportSettings = decoder.ReadExtensionObject("TransportSettings"); - MessageSettings = decoder.ReadExtensionObject("MessageSettings"); + DataSetFolder = decoder.ReadStringArray("DataSetFolder"); + DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); + ExtensionFields = (KeyValuePairCollection)decoder.ReadEncodeableArray("ExtensionFields", typeof(KeyValuePair)); + DataSetSource = decoder.ReadExtensionObject("DataSetSource"); decoder.PopNamespace(); } @@ -10561,7 +10948,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataSetWriterDataType value = encodeable as DataSetWriterDataType; + PublishedDataSetDataType value = encodeable as PublishedDataSetDataType; if (value == null) { @@ -10569,14 +10956,10 @@ public virtual bool IsEqual(IEncodeable encodeable) } if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_dataSetFieldContentMask, value.m_dataSetFieldContentMask)) return false; - if (!Utils.IsEqual(m_keyFrameCount, value.m_keyFrameCount)) return false; - if (!Utils.IsEqual(m_dataSetName, value.m_dataSetName)) return false; - if (!Utils.IsEqual(m_dataSetWriterProperties, value.m_dataSetWriterProperties)) return false; - if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; - if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; + if (!Utils.IsEqual(m_dataSetFolder, value.m_dataSetFolder)) return false; + if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; + if (!Utils.IsEqual(m_extensionFields, value.m_extensionFields)) return false; + if (!Utils.IsEqual(m_dataSetSource, value.m_dataSetSource)) return false; return true; } @@ -10584,23 +10967,19 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataSetWriterDataType)this.MemberwiseClone(); + return (PublishedDataSetDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetWriterDataType clone = (DataSetWriterDataType)base.MemberwiseClone(); + PublishedDataSetDataType clone = (PublishedDataSetDataType)base.MemberwiseClone(); clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_enabled = (bool)Utils.Clone(this.m_enabled); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_dataSetFieldContentMask = (uint)Utils.Clone(this.m_dataSetFieldContentMask); - clone.m_keyFrameCount = (uint)Utils.Clone(this.m_keyFrameCount); - clone.m_dataSetName = (string)Utils.Clone(this.m_dataSetName); - clone.m_dataSetWriterProperties = (KeyValuePairCollection)Utils.Clone(this.m_dataSetWriterProperties); - clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); - clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); + clone.m_dataSetFolder = (StringCollection)Utils.Clone(this.m_dataSetFolder); + clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); + clone.m_extensionFields = (KeyValuePairCollection)Utils.Clone(this.m_extensionFields); + clone.m_dataSetSource = (ExtensionObject)Utils.Clone(this.m_dataSetSource); return clone; } @@ -10608,49 +10987,45 @@ public virtual object Clone() #region Private Fields private string m_name; - private bool m_enabled; - private ushort m_dataSetWriterId; - private uint m_dataSetFieldContentMask; - private uint m_keyFrameCount; - private string m_dataSetName; - private KeyValuePairCollection m_dataSetWriterProperties; - private ExtensionObject m_transportSettings; - private ExtensionObject m_messageSettings; + private StringCollection m_dataSetFolder; + private DataSetMetaDataType m_dataSetMetaData; + private KeyValuePairCollection m_extensionFields; + private ExtensionObject m_dataSetSource; #endregion } - #region DataSetWriterDataTypeCollection Class + #region PublishedDataSetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetWriterDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterDataType")] - public partial class DataSetWriterDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetDataType")] + public partial class PublishedDataSetDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetWriterDataTypeCollection() {} + public PublishedDataSetDataTypeCollection() {} /// - public DataSetWriterDataTypeCollection(int capacity) : base(capacity) {} + public PublishedDataSetDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetWriterDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetWriterDataTypeCollection(DataSetWriterDataType[] values) + public static implicit operator PublishedDataSetDataTypeCollection(PublishedDataSetDataType[] values) { if (values != null) { - return new DataSetWriterDataTypeCollection(values); + return new PublishedDataSetDataTypeCollection(values); } - return new DataSetWriterDataTypeCollection(); + return new PublishedDataSetDataTypeCollection(); } /// - public static explicit operator DataSetWriterDataType[](DataSetWriterDataTypeCollection values) + public static explicit operator PublishedDataSetDataType[](PublishedDataSetDataTypeCollection values) { if (values != null) { @@ -10665,18 +11040,18 @@ public static explicit operator DataSetWriterDataType[](DataSetWriterDataTypeCol /// public object Clone() { - return (DataSetWriterDataTypeCollection)this.MemberwiseClone(); + return (PublishedDataSetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetWriterDataTypeCollection clone = new DataSetWriterDataTypeCollection(this.Count); + PublishedDataSetDataTypeCollection clone = new PublishedDataSetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetWriterDataType)Utils.Clone(this[ii])); + clone.Add((PublishedDataSetDataType)Utils.Clone(this[ii])); } return clone; @@ -10686,17 +11061,17 @@ public object Clone() #endif #endregion - #region DataSetWriterTransportDataType Class - #if (!OPCUA_EXCLUDE_DataSetWriterTransportDataType) + #region PublishedDataSetSourceDataType Class + #if (!OPCUA_EXCLUDE_PublishedDataSetSourceDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetWriterTransportDataType : IEncodeable, IJsonEncodeable + public partial class PublishedDataSetSourceDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataSetWriterTransportDataType() + public PublishedDataSetSourceDataType() { Initialize(); } @@ -10717,16 +11092,16 @@ private void Initialize() #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterTransportDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetSourceDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -10754,7 +11129,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataSetWriterTransportDataType value = encodeable as DataSetWriterTransportDataType; + PublishedDataSetSourceDataType value = encodeable as PublishedDataSetSourceDataType; if (value == null) { @@ -10768,13 +11143,13 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataSetWriterTransportDataType)this.MemberwiseClone(); + return (PublishedDataSetSourceDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetWriterTransportDataType clone = (DataSetWriterTransportDataType)base.MemberwiseClone(); + PublishedDataSetSourceDataType clone = (PublishedDataSetSourceDataType)base.MemberwiseClone(); return clone; @@ -10785,38 +11160,38 @@ public virtual object Clone() #endregion } - #region DataSetWriterTransportDataTypeCollection Class + #region PublishedDataSetSourceDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetWriterTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterTransportDataType")] - public partial class DataSetWriterTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedDataSetSourceDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetSourceDataType")] + public partial class PublishedDataSetSourceDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetWriterTransportDataTypeCollection() {} + public PublishedDataSetSourceDataTypeCollection() {} /// - public DataSetWriterTransportDataTypeCollection(int capacity) : base(capacity) {} + public PublishedDataSetSourceDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetWriterTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedDataSetSourceDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetWriterTransportDataTypeCollection(DataSetWriterTransportDataType[] values) + public static implicit operator PublishedDataSetSourceDataTypeCollection(PublishedDataSetSourceDataType[] values) { if (values != null) { - return new DataSetWriterTransportDataTypeCollection(values); + return new PublishedDataSetSourceDataTypeCollection(values); } - return new DataSetWriterTransportDataTypeCollection(); + return new PublishedDataSetSourceDataTypeCollection(); } /// - public static explicit operator DataSetWriterTransportDataType[](DataSetWriterTransportDataTypeCollection values) + public static explicit operator PublishedDataSetSourceDataType[](PublishedDataSetSourceDataTypeCollection values) { if (values != null) { @@ -10831,18 +11206,18 @@ public static explicit operator DataSetWriterTransportDataType[](DataSetWriterTr /// public object Clone() { - return (DataSetWriterTransportDataTypeCollection)this.MemberwiseClone(); + return (PublishedDataSetSourceDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetWriterTransportDataTypeCollection clone = new DataSetWriterTransportDataTypeCollection(this.Count); + PublishedDataSetSourceDataTypeCollection clone = new PublishedDataSetSourceDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetWriterTransportDataType)Utils.Clone(this[ii])); + clone.Add((PublishedDataSetSourceDataType)Utils.Clone(this[ii])); } return clone; @@ -10852,17 +11227,17 @@ public object Clone() #endif #endregion - #region DataSetWriterMessageDataType Class - #if (!OPCUA_EXCLUDE_DataSetWriterMessageDataType) + #region PublishedVariableDataType Class + #if (!OPCUA_EXCLUDE_PublishedVariableDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetWriterMessageDataType : IEncodeable, IJsonEncodeable + public partial class PublishedVariableDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataSetWriterMessageDataType() + public PublishedVariableDataType() { Initialize(); } @@ -10875,30 +11250,121 @@ private void Initialize(StreamingContext context) private void Initialize() { + m_publishedVariable = null; + m_attributeId = (uint)0; + m_samplingIntervalHint = (double)0; + m_deadbandType = (uint)0; + m_deadbandValue = (double)0; + m_indexRange = null; + m_substituteValue = Variant.Null; + m_metaDataProperties = new QualifiedNameCollection(); } #endregion #region Public Properties + /// + [DataMember(Name = "PublishedVariable", IsRequired = false, Order = 1)] + public NodeId PublishedVariable + { + get { return m_publishedVariable; } + set { m_publishedVariable = value; } + } + + /// + [DataMember(Name = "AttributeId", IsRequired = false, Order = 2)] + public uint AttributeId + { + get { return m_attributeId; } + set { m_attributeId = value; } + } + + /// + [DataMember(Name = "SamplingIntervalHint", IsRequired = false, Order = 3)] + public double SamplingIntervalHint + { + get { return m_samplingIntervalHint; } + set { m_samplingIntervalHint = value; } + } + + /// + [DataMember(Name = "DeadbandType", IsRequired = false, Order = 4)] + public uint DeadbandType + { + get { return m_deadbandType; } + set { m_deadbandType = value; } + } + + /// + [DataMember(Name = "DeadbandValue", IsRequired = false, Order = 5)] + public double DeadbandValue + { + get { return m_deadbandValue; } + set { m_deadbandValue = value; } + } + + /// + [DataMember(Name = "IndexRange", IsRequired = false, Order = 6)] + public string IndexRange + { + get { return m_indexRange; } + set { m_indexRange = value; } + } + + /// + [DataMember(Name = "SubstituteValue", IsRequired = false, Order = 7)] + public Variant SubstituteValue + { + get { return m_substituteValue; } + set { m_substituteValue = value; } + } + + /// + [DataMember(Name = "MetaDataProperties", IsRequired = false, Order = 8)] + public QualifiedNameCollection MetaDataProperties + { + get + { + return m_metaDataProperties; + } + + set + { + m_metaDataProperties = value; + + if (value == null) + { + m_metaDataProperties = new QualifiedNameCollection(); + } + } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PublishedVariableDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PublishedVariableDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteNodeId("PublishedVariable", PublishedVariable); + encoder.WriteUInt32("AttributeId", AttributeId); + encoder.WriteDouble("SamplingIntervalHint", SamplingIntervalHint); + encoder.WriteUInt32("DeadbandType", DeadbandType); + encoder.WriteDouble("DeadbandValue", DeadbandValue); + encoder.WriteString("IndexRange", IndexRange); + encoder.WriteVariant("SubstituteValue", SubstituteValue); + encoder.WriteQualifiedNameArray("MetaDataProperties", MetaDataProperties); encoder.PopNamespace(); } @@ -10908,6 +11374,14 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + PublishedVariable = decoder.ReadNodeId("PublishedVariable"); + AttributeId = decoder.ReadUInt32("AttributeId"); + SamplingIntervalHint = decoder.ReadDouble("SamplingIntervalHint"); + DeadbandType = decoder.ReadUInt32("DeadbandType"); + DeadbandValue = decoder.ReadDouble("DeadbandValue"); + IndexRange = decoder.ReadString("IndexRange"); + SubstituteValue = decoder.ReadVariant("SubstituteValue"); + MetaDataProperties = decoder.ReadQualifiedNameArray("MetaDataProperties"); decoder.PopNamespace(); } @@ -10920,13 +11394,21 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataSetWriterMessageDataType value = encodeable as DataSetWriterMessageDataType; + PublishedVariableDataType value = encodeable as PublishedVariableDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_publishedVariable, value.m_publishedVariable)) return false; + if (!Utils.IsEqual(m_attributeId, value.m_attributeId)) return false; + if (!Utils.IsEqual(m_samplingIntervalHint, value.m_samplingIntervalHint)) return false; + if (!Utils.IsEqual(m_deadbandType, value.m_deadbandType)) return false; + if (!Utils.IsEqual(m_deadbandValue, value.m_deadbandValue)) return false; + if (!Utils.IsEqual(m_indexRange, value.m_indexRange)) return false; + if (!Utils.IsEqual(m_substituteValue, value.m_substituteValue)) return false; + if (!Utils.IsEqual(m_metaDataProperties, value.m_metaDataProperties)) return false; return true; } @@ -10934,55 +11416,71 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataSetWriterMessageDataType)this.MemberwiseClone(); + return (PublishedVariableDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetWriterMessageDataType clone = (DataSetWriterMessageDataType)base.MemberwiseClone(); + PublishedVariableDataType clone = (PublishedVariableDataType)base.MemberwiseClone(); + clone.m_publishedVariable = (NodeId)Utils.Clone(this.m_publishedVariable); + clone.m_attributeId = (uint)Utils.Clone(this.m_attributeId); + clone.m_samplingIntervalHint = (double)Utils.Clone(this.m_samplingIntervalHint); + clone.m_deadbandType = (uint)Utils.Clone(this.m_deadbandType); + clone.m_deadbandValue = (double)Utils.Clone(this.m_deadbandValue); + clone.m_indexRange = (string)Utils.Clone(this.m_indexRange); + clone.m_substituteValue = (Variant)Utils.Clone(this.m_substituteValue); + clone.m_metaDataProperties = (QualifiedNameCollection)Utils.Clone(this.m_metaDataProperties); return clone; } #endregion #region Private Fields + private NodeId m_publishedVariable; + private uint m_attributeId; + private double m_samplingIntervalHint; + private uint m_deadbandType; + private double m_deadbandValue; + private string m_indexRange; + private Variant m_substituteValue; + private QualifiedNameCollection m_metaDataProperties; #endregion } - #region DataSetWriterMessageDataTypeCollection Class + #region PublishedVariableDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterMessageDataType")] - public partial class DataSetWriterMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedVariableDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedVariableDataType")] + public partial class PublishedVariableDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetWriterMessageDataTypeCollection() {} + public PublishedVariableDataTypeCollection() {} /// - public DataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} + public PublishedVariableDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedVariableDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetWriterMessageDataTypeCollection(DataSetWriterMessageDataType[] values) + public static implicit operator PublishedVariableDataTypeCollection(PublishedVariableDataType[] values) { if (values != null) { - return new DataSetWriterMessageDataTypeCollection(values); + return new PublishedVariableDataTypeCollection(values); } - return new DataSetWriterMessageDataTypeCollection(); + return new PublishedVariableDataTypeCollection(); } /// - public static explicit operator DataSetWriterMessageDataType[](DataSetWriterMessageDataTypeCollection values) + public static explicit operator PublishedVariableDataType[](PublishedVariableDataTypeCollection values) { if (values != null) { @@ -10997,18 +11495,18 @@ public static explicit operator DataSetWriterMessageDataType[](DataSetWriterMess /// public object Clone() { - return (DataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); + return (PublishedVariableDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetWriterMessageDataTypeCollection clone = new DataSetWriterMessageDataTypeCollection(this.Count); + PublishedVariableDataTypeCollection clone = new PublishedVariableDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetWriterMessageDataType)Utils.Clone(this[ii])); + clone.Add((PublishedVariableDataType)Utils.Clone(this[ii])); } return clone; @@ -11018,258 +11516,166 @@ public object Clone() #endif #endregion - #region PubSubGroupDataType Class - #if (!OPCUA_EXCLUDE_PubSubGroupDataType) + #region PublishedDataItemsDataType Class + #if (!OPCUA_EXCLUDE_PublishedDataItemsDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubGroupDataType : IEncodeable, IJsonEncodeable + public partial class PublishedDataItemsDataType : Opc.Ua.PublishedDataSetSourceDataType { #region Constructors /// - public PubSubGroupDataType() + public PublishedDataItemsDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_name = null; - m_enabled = true; - m_securityMode = MessageSecurityMode.Invalid; - m_securityGroupId = null; - m_securityKeyServices = new EndpointDescriptionCollection(); - m_maxNetworkMessageSize = (uint)0; - m_groupProperties = new KeyValuePairCollection(); + m_publishedData = new PublishedVariableDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] - public bool Enabled - { - get { return m_enabled; } - set { m_enabled = value; } - } - - /// - [DataMember(Name = "SecurityMode", IsRequired = false, Order = 3)] - public MessageSecurityMode SecurityMode - { - get { return m_securityMode; } - set { m_securityMode = value; } - } - - /// - [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 4)] - public string SecurityGroupId - { - get { return m_securityGroupId; } - set { m_securityGroupId = value; } - } - - /// - [DataMember(Name = "SecurityKeyServices", IsRequired = false, Order = 5)] - public EndpointDescriptionCollection SecurityKeyServices + [DataMember(Name = "PublishedData", IsRequired = false, Order = 1)] + public PublishedVariableDataTypeCollection PublishedData { get { - return m_securityKeyServices; + return m_publishedData; } set { - m_securityKeyServices = value; + m_publishedData = value; if (value == null) { - m_securityKeyServices = new EndpointDescriptionCollection(); + m_publishedData = new PublishedVariableDataTypeCollection(); } } } - - /// - [DataMember(Name = "MaxNetworkMessageSize", IsRequired = false, Order = 6)] - public uint MaxNetworkMessageSize - { - get { return m_maxNetworkMessageSize; } - set { m_maxNetworkMessageSize = value; } - } - - /// - [DataMember(Name = "GroupProperties", IsRequired = false, Order = 7)] - public KeyValuePairCollection GroupProperties - { - get - { - return m_groupProperties; - } - - set - { - m_groupProperties = value; - - if (value == null) - { - m_groupProperties = new KeyValuePairCollection(); - } - } - } - #endregion + #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubGroupDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PublishedDataItemsDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataItemsDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteBoolean("Enabled", Enabled); - encoder.WriteEnumerated("SecurityMode", SecurityMode); - encoder.WriteString("SecurityGroupId", SecurityGroupId); - encoder.WriteEncodeableArray("SecurityKeyServices", SecurityKeyServices.ToArray(), typeof(EndpointDescription)); - encoder.WriteUInt32("MaxNetworkMessageSize", MaxNetworkMessageSize); - encoder.WriteEncodeableArray("GroupProperties", GroupProperties.ToArray(), typeof(KeyValuePair)); + encoder.WriteEncodeableArray("PublishedData", PublishedData.ToArray(), typeof(PublishedVariableDataType)); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - Enabled = decoder.ReadBoolean("Enabled"); - SecurityMode = (MessageSecurityMode)decoder.ReadEnumerated("SecurityMode", typeof(MessageSecurityMode)); - SecurityGroupId = decoder.ReadString("SecurityGroupId"); - SecurityKeyServices = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("SecurityKeyServices", typeof(EndpointDescription)); - MaxNetworkMessageSize = decoder.ReadUInt32("MaxNetworkMessageSize"); - GroupProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("GroupProperties", typeof(KeyValuePair)); + PublishedData = (PublishedVariableDataTypeCollection)decoder.ReadEncodeableArray("PublishedData", typeof(PublishedVariableDataType)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PubSubGroupDataType value = encodeable as PubSubGroupDataType; + PublishedDataItemsDataType value = encodeable as PublishedDataItemsDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; - if (!Utils.IsEqual(m_securityMode, value.m_securityMode)) return false; - if (!Utils.IsEqual(m_securityGroupId, value.m_securityGroupId)) return false; - if (!Utils.IsEqual(m_securityKeyServices, value.m_securityKeyServices)) return false; - if (!Utils.IsEqual(m_maxNetworkMessageSize, value.m_maxNetworkMessageSize)) return false; - if (!Utils.IsEqual(m_groupProperties, value.m_groupProperties)) return false; + if (!Utils.IsEqual(m_publishedData, value.m_publishedData)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PubSubGroupDataType)this.MemberwiseClone(); + return (PublishedDataItemsDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubGroupDataType clone = (PubSubGroupDataType)base.MemberwiseClone(); + PublishedDataItemsDataType clone = (PublishedDataItemsDataType)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_enabled = (bool)Utils.Clone(this.m_enabled); - clone.m_securityMode = (MessageSecurityMode)Utils.Clone(this.m_securityMode); - clone.m_securityGroupId = (string)Utils.Clone(this.m_securityGroupId); - clone.m_securityKeyServices = (EndpointDescriptionCollection)Utils.Clone(this.m_securityKeyServices); - clone.m_maxNetworkMessageSize = (uint)Utils.Clone(this.m_maxNetworkMessageSize); - clone.m_groupProperties = (KeyValuePairCollection)Utils.Clone(this.m_groupProperties); + clone.m_publishedData = (PublishedVariableDataTypeCollection)Utils.Clone(this.m_publishedData); return clone; } #endregion #region Private Fields - private string m_name; - private bool m_enabled; - private MessageSecurityMode m_securityMode; - private string m_securityGroupId; - private EndpointDescriptionCollection m_securityKeyServices; - private uint m_maxNetworkMessageSize; - private KeyValuePairCollection m_groupProperties; + private PublishedVariableDataTypeCollection m_publishedData; #endregion } - #region PubSubGroupDataTypeCollection Class + #region PublishedDataItemsDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubGroupDataType")] - public partial class PubSubGroupDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedDataItemsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataItemsDataType")] + public partial class PublishedDataItemsDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubGroupDataTypeCollection() {} + public PublishedDataItemsDataTypeCollection() {} /// - public PubSubGroupDataTypeCollection(int capacity) : base(capacity) {} + public PublishedDataItemsDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubGroupDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedDataItemsDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubGroupDataTypeCollection(PubSubGroupDataType[] values) + public static implicit operator PublishedDataItemsDataTypeCollection(PublishedDataItemsDataType[] values) { if (values != null) { - return new PubSubGroupDataTypeCollection(values); + return new PublishedDataItemsDataTypeCollection(values); } - return new PubSubGroupDataTypeCollection(); + return new PublishedDataItemsDataTypeCollection(); } /// - public static explicit operator PubSubGroupDataType[](PubSubGroupDataTypeCollection values) + public static explicit operator PublishedDataItemsDataType[](PublishedDataItemsDataTypeCollection values) { if (values != null) { @@ -11284,18 +11690,18 @@ public static explicit operator PubSubGroupDataType[](PubSubGroupDataTypeCollect /// public object Clone() { - return (PubSubGroupDataTypeCollection)this.MemberwiseClone(); + return (PublishedDataItemsDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubGroupDataTypeCollection clone = new PubSubGroupDataTypeCollection(this.Count); + PublishedDataItemsDataTypeCollection clone = new PublishedDataItemsDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubGroupDataType)Utils.Clone(this[ii])); + clone.Add((PublishedDataItemsDataType)Utils.Clone(this[ii])); } return clone; @@ -11305,17 +11711,17 @@ public object Clone() #endif #endregion - #region WriterGroupDataType Class - #if (!OPCUA_EXCLUDE_WriterGroupDataType) + #region PublishedEventsDataType Class + #if (!OPCUA_EXCLUDE_PublishedEventsDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class WriterGroupDataType : Opc.Ua.PubSubGroupDataType + public partial class PublishedEventsDataType : Opc.Ua.PublishedDataSetSourceDataType { #region Constructors /// - public WriterGroupDataType() + public PublishedEventsDataType() { Initialize(); } @@ -11328,111 +11734,57 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_writerGroupId = (ushort)0; - m_publishingInterval = (double)0; - m_keepAliveTime = (double)0; - m_priority = (byte)0; - m_localeIds = new StringCollection(); - m_headerLayoutUri = null; - m_transportSettings = null; - m_messageSettings = null; - m_dataSetWriters = new DataSetWriterDataTypeCollection(); + m_eventNotifier = null; + m_selectedFields = new SimpleAttributeOperandCollection(); + m_filter = new ContentFilter(); } #endregion #region Public Properties /// - [DataMember(Name = "WriterGroupId", IsRequired = false, Order = 1)] - public ushort WriterGroupId - { - get { return m_writerGroupId; } - set { m_writerGroupId = value; } - } - - /// - [DataMember(Name = "PublishingInterval", IsRequired = false, Order = 2)] - public double PublishingInterval - { - get { return m_publishingInterval; } - set { m_publishingInterval = value; } - } - - /// - [DataMember(Name = "KeepAliveTime", IsRequired = false, Order = 3)] - public double KeepAliveTime - { - get { return m_keepAliveTime; } - set { m_keepAliveTime = value; } - } - - /// - [DataMember(Name = "Priority", IsRequired = false, Order = 4)] - public byte Priority + [DataMember(Name = "EventNotifier", IsRequired = false, Order = 1)] + public NodeId EventNotifier { - get { return m_priority; } - set { m_priority = value; } + get { return m_eventNotifier; } + set { m_eventNotifier = value; } } /// - [DataMember(Name = "LocaleIds", IsRequired = false, Order = 5)] - public StringCollection LocaleIds + [DataMember(Name = "SelectedFields", IsRequired = false, Order = 2)] + public SimpleAttributeOperandCollection SelectedFields { get { - return m_localeIds; + return m_selectedFields; } set { - m_localeIds = value; + m_selectedFields = value; if (value == null) { - m_localeIds = new StringCollection(); + m_selectedFields = new SimpleAttributeOperandCollection(); } } } /// - [DataMember(Name = "HeaderLayoutUri", IsRequired = false, Order = 6)] - public string HeaderLayoutUri - { - get { return m_headerLayoutUri; } - set { m_headerLayoutUri = value; } - } - - /// - [DataMember(Name = "TransportSettings", IsRequired = false, Order = 7)] - public ExtensionObject TransportSettings - { - get { return m_transportSettings; } - set { m_transportSettings = value; } - } - - /// - [DataMember(Name = "MessageSettings", IsRequired = false, Order = 8)] - public ExtensionObject MessageSettings - { - get { return m_messageSettings; } - set { m_messageSettings = value; } - } - - /// - [DataMember(Name = "DataSetWriters", IsRequired = false, Order = 9)] - public DataSetWriterDataTypeCollection DataSetWriters + [DataMember(Name = "Filter", IsRequired = false, Order = 3)] + public ContentFilter Filter { get { - return m_dataSetWriters; + return m_filter; } set { - m_dataSetWriters = value; + m_filter = value; if (value == null) { - m_dataSetWriters = new DataSetWriterDataTypeCollection(); + m_filter = new ContentFilter(); } } } @@ -11440,16 +11792,16 @@ public DataSetWriterDataTypeCollection DataSetWriters #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.WriterGroupDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PublishedEventsDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedEventsDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -11458,15 +11810,9 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt16("WriterGroupId", WriterGroupId); - encoder.WriteDouble("PublishingInterval", PublishingInterval); - encoder.WriteDouble("KeepAliveTime", KeepAliveTime); - encoder.WriteByte("Priority", Priority); - encoder.WriteStringArray("LocaleIds", LocaleIds); - encoder.WriteString("HeaderLayoutUri", HeaderLayoutUri); - encoder.WriteExtensionObject("TransportSettings", TransportSettings); - encoder.WriteExtensionObject("MessageSettings", MessageSettings); - encoder.WriteEncodeableArray("DataSetWriters", DataSetWriters.ToArray(), typeof(DataSetWriterDataType)); + encoder.WriteNodeId("EventNotifier", EventNotifier); + encoder.WriteEncodeableArray("SelectedFields", SelectedFields.ToArray(), typeof(SimpleAttributeOperand)); + encoder.WriteEncodeable("Filter", Filter, typeof(ContentFilter)); encoder.PopNamespace(); } @@ -11478,15 +11824,9 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - WriterGroupId = decoder.ReadUInt16("WriterGroupId"); - PublishingInterval = decoder.ReadDouble("PublishingInterval"); - KeepAliveTime = decoder.ReadDouble("KeepAliveTime"); - Priority = decoder.ReadByte("Priority"); - LocaleIds = decoder.ReadStringArray("LocaleIds"); - HeaderLayoutUri = decoder.ReadString("HeaderLayoutUri"); - TransportSettings = decoder.ReadExtensionObject("TransportSettings"); - MessageSettings = decoder.ReadExtensionObject("MessageSettings"); - DataSetWriters = (DataSetWriterDataTypeCollection)decoder.ReadEncodeableArray("DataSetWriters", typeof(DataSetWriterDataType)); + EventNotifier = decoder.ReadNodeId("EventNotifier"); + SelectedFields = (SimpleAttributeOperandCollection)decoder.ReadEncodeableArray("SelectedFields", typeof(SimpleAttributeOperand)); + Filter = (ContentFilter)decoder.ReadEncodeable("Filter", typeof(ContentFilter)); decoder.PopNamespace(); } @@ -11499,22 +11839,16 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - WriterGroupDataType value = encodeable as WriterGroupDataType; + PublishedEventsDataType value = encodeable as PublishedEventsDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_writerGroupId, value.m_writerGroupId)) return false; - if (!Utils.IsEqual(m_publishingInterval, value.m_publishingInterval)) return false; - if (!Utils.IsEqual(m_keepAliveTime, value.m_keepAliveTime)) return false; - if (!Utils.IsEqual(m_priority, value.m_priority)) return false; - if (!Utils.IsEqual(m_localeIds, value.m_localeIds)) return false; - if (!Utils.IsEqual(m_headerLayoutUri, value.m_headerLayoutUri)) return false; - if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; - if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; - if (!Utils.IsEqual(m_dataSetWriters, value.m_dataSetWriters)) return false; + if (!Utils.IsEqual(m_eventNotifier, value.m_eventNotifier)) return false; + if (!Utils.IsEqual(m_selectedFields, value.m_selectedFields)) return false; + if (!Utils.IsEqual(m_filter, value.m_filter)) return false; return base.IsEqual(encodeable); } @@ -11522,73 +11856,61 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (WriterGroupDataType)this.MemberwiseClone(); + return (PublishedEventsDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - WriterGroupDataType clone = (WriterGroupDataType)base.MemberwiseClone(); + PublishedEventsDataType clone = (PublishedEventsDataType)base.MemberwiseClone(); - clone.m_writerGroupId = (ushort)Utils.Clone(this.m_writerGroupId); - clone.m_publishingInterval = (double)Utils.Clone(this.m_publishingInterval); - clone.m_keepAliveTime = (double)Utils.Clone(this.m_keepAliveTime); - clone.m_priority = (byte)Utils.Clone(this.m_priority); - clone.m_localeIds = (StringCollection)Utils.Clone(this.m_localeIds); - clone.m_headerLayoutUri = (string)Utils.Clone(this.m_headerLayoutUri); - clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); - clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); - clone.m_dataSetWriters = (DataSetWriterDataTypeCollection)Utils.Clone(this.m_dataSetWriters); + clone.m_eventNotifier = (NodeId)Utils.Clone(this.m_eventNotifier); + clone.m_selectedFields = (SimpleAttributeOperandCollection)Utils.Clone(this.m_selectedFields); + clone.m_filter = (ContentFilter)Utils.Clone(this.m_filter); return clone; } #endregion #region Private Fields - private ushort m_writerGroupId; - private double m_publishingInterval; - private double m_keepAliveTime; - private byte m_priority; - private StringCollection m_localeIds; - private string m_headerLayoutUri; - private ExtensionObject m_transportSettings; - private ExtensionObject m_messageSettings; - private DataSetWriterDataTypeCollection m_dataSetWriters; + private NodeId m_eventNotifier; + private SimpleAttributeOperandCollection m_selectedFields; + private ContentFilter m_filter; #endregion } - #region WriterGroupDataTypeCollection Class + #region PublishedEventsDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfWriterGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupDataType")] - public partial class WriterGroupDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedEventsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedEventsDataType")] + public partial class PublishedEventsDataTypeCollection : List, ICloneable { #region Constructors /// - public WriterGroupDataTypeCollection() {} + public PublishedEventsDataTypeCollection() {} /// - public WriterGroupDataTypeCollection(int capacity) : base(capacity) {} + public PublishedEventsDataTypeCollection(int capacity) : base(capacity) {} /// - public WriterGroupDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedEventsDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator WriterGroupDataTypeCollection(WriterGroupDataType[] values) + public static implicit operator PublishedEventsDataTypeCollection(PublishedEventsDataType[] values) { if (values != null) { - return new WriterGroupDataTypeCollection(values); + return new PublishedEventsDataTypeCollection(values); } - return new WriterGroupDataTypeCollection(); + return new PublishedEventsDataTypeCollection(); } /// - public static explicit operator WriterGroupDataType[](WriterGroupDataTypeCollection values) + public static explicit operator PublishedEventsDataType[](PublishedEventsDataTypeCollection values) { if (values != null) { @@ -11603,18 +11925,18 @@ public static explicit operator WriterGroupDataType[](WriterGroupDataTypeCollect /// public object Clone() { - return (WriterGroupDataTypeCollection)this.MemberwiseClone(); + return (PublishedEventsDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - WriterGroupDataTypeCollection clone = new WriterGroupDataTypeCollection(this.Count); + PublishedEventsDataTypeCollection clone = new PublishedEventsDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((WriterGroupDataType)Utils.Clone(this[ii])); + clone.Add((PublishedEventsDataType)Utils.Clone(this[ii])); } return clone; @@ -11624,137 +11946,154 @@ public object Clone() #endif #endregion - #region WriterGroupTransportDataType Class - #if (!OPCUA_EXCLUDE_WriterGroupTransportDataType) + #region PublishedDataSetCustomSourceDataType Class + #if (!OPCUA_EXCLUDE_PublishedDataSetCustomSourceDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class WriterGroupTransportDataType : IEncodeable, IJsonEncodeable + public partial class PublishedDataSetCustomSourceDataType : Opc.Ua.PublishedDataSetSourceDataType { #region Constructors /// - public WriterGroupTransportDataType() + public PublishedDataSetCustomSourceDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { + m_cyclicDataSet = true; } #endregion #region Public Properties + /// + [DataMember(Name = "CyclicDataSet", IsRequired = false, Order = 1)] + public bool CyclicDataSet + { + get { return m_cyclicDataSet; } + set { m_cyclicDataSet = value; } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.WriterGroupTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PublishedDataSetCustomSourceDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedDataSetCustomSourceDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteBoolean("CyclicDataSet", CyclicDataSet); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + CyclicDataSet = decoder.ReadBoolean("CyclicDataSet"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - WriterGroupTransportDataType value = encodeable as WriterGroupTransportDataType; + PublishedDataSetCustomSourceDataType value = encodeable as PublishedDataSetCustomSourceDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_cyclicDataSet, value.m_cyclicDataSet)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (WriterGroupTransportDataType)this.MemberwiseClone(); + return (PublishedDataSetCustomSourceDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - WriterGroupTransportDataType clone = (WriterGroupTransportDataType)base.MemberwiseClone(); + PublishedDataSetCustomSourceDataType clone = (PublishedDataSetCustomSourceDataType)base.MemberwiseClone(); + clone.m_cyclicDataSet = (bool)Utils.Clone(this.m_cyclicDataSet); return clone; } #endregion #region Private Fields + private bool m_cyclicDataSet; #endregion } - #region WriterGroupTransportDataTypeCollection Class + #region PublishedDataSetCustomSourceDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupTransportDataType")] - public partial class WriterGroupTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedDataSetCustomSourceDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedDataSetCustomSourceDataType")] + public partial class PublishedDataSetCustomSourceDataTypeCollection : List, ICloneable { #region Constructors /// - public WriterGroupTransportDataTypeCollection() {} + public PublishedDataSetCustomSourceDataTypeCollection() {} /// - public WriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} + public PublishedDataSetCustomSourceDataTypeCollection(int capacity) : base(capacity) {} /// - public WriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedDataSetCustomSourceDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator WriterGroupTransportDataTypeCollection(WriterGroupTransportDataType[] values) + public static implicit operator PublishedDataSetCustomSourceDataTypeCollection(PublishedDataSetCustomSourceDataType[] values) { if (values != null) { - return new WriterGroupTransportDataTypeCollection(values); + return new PublishedDataSetCustomSourceDataTypeCollection(values); } - return new WriterGroupTransportDataTypeCollection(); + return new PublishedDataSetCustomSourceDataTypeCollection(); } /// - public static explicit operator WriterGroupTransportDataType[](WriterGroupTransportDataTypeCollection values) + public static explicit operator PublishedDataSetCustomSourceDataType[](PublishedDataSetCustomSourceDataTypeCollection values) { if (values != null) { @@ -11769,18 +12108,18 @@ public static explicit operator WriterGroupTransportDataType[](WriterGroupTransp /// public object Clone() { - return (WriterGroupTransportDataTypeCollection)this.MemberwiseClone(); + return (PublishedDataSetCustomSourceDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - WriterGroupTransportDataTypeCollection clone = new WriterGroupTransportDataTypeCollection(this.Count); + PublishedDataSetCustomSourceDataTypeCollection clone = new PublishedDataSetCustomSourceDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((WriterGroupTransportDataType)Utils.Clone(this[ii])); + clone.Add((PublishedDataSetCustomSourceDataType)Utils.Clone(this[ii])); } return clone; @@ -11790,17 +12129,17 @@ public object Clone() #endif #endregion - #region WriterGroupMessageDataType Class - #if (!OPCUA_EXCLUDE_WriterGroupMessageDataType) + #region ActionTargetDataType Class + #if (!OPCUA_EXCLUDE_ActionTargetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class WriterGroupMessageDataType : IEncodeable, IJsonEncodeable + public partial class ActionTargetDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public WriterGroupMessageDataType() + public ActionTargetDataType() { Initialize(); } @@ -11813,30 +12152,59 @@ private void Initialize(StreamingContext context) private void Initialize() { + m_actionTargetId = (ushort)0; + m_name = null; + m_description = null; } #endregion #region Public Properties + /// + [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 1)] + public ushort ActionTargetId + { + get { return m_actionTargetId; } + set { m_actionTargetId = value; } + } + + /// + [DataMember(Name = "Name", IsRequired = false, Order = 2)] + public string Name + { + get { return m_name; } + set { m_name = value; } + } + + /// + [DataMember(Name = "Description", IsRequired = false, Order = 3)] + public LocalizedText Description + { + get { return m_description; } + set { m_description = value; } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.WriterGroupMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ActionTargetDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ActionTargetDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteUInt16("ActionTargetId", ActionTargetId); + encoder.WriteString("Name", Name); + encoder.WriteLocalizedText("Description", Description); encoder.PopNamespace(); } @@ -11846,6 +12214,9 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + ActionTargetId = decoder.ReadUInt16("ActionTargetId"); + Name = decoder.ReadString("Name"); + Description = decoder.ReadLocalizedText("Description"); decoder.PopNamespace(); } @@ -11858,13 +12229,16 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - WriterGroupMessageDataType value = encodeable as WriterGroupMessageDataType; + ActionTargetDataType value = encodeable as ActionTargetDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; return true; } @@ -11872,55 +12246,61 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (WriterGroupMessageDataType)this.MemberwiseClone(); + return (ActionTargetDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - WriterGroupMessageDataType clone = (WriterGroupMessageDataType)base.MemberwiseClone(); + ActionTargetDataType clone = (ActionTargetDataType)base.MemberwiseClone(); + clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_description = (LocalizedText)Utils.Clone(this.m_description); return clone; } #endregion #region Private Fields + private ushort m_actionTargetId; + private string m_name; + private LocalizedText m_description; #endregion } - #region WriterGroupMessageDataTypeCollection Class + #region ActionTargetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupMessageDataType")] - public partial class WriterGroupMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfActionTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionTargetDataType")] + public partial class ActionTargetDataTypeCollection : List, ICloneable { #region Constructors /// - public WriterGroupMessageDataTypeCollection() {} + public ActionTargetDataTypeCollection() {} /// - public WriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} + public ActionTargetDataTypeCollection(int capacity) : base(capacity) {} /// - public WriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public ActionTargetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator WriterGroupMessageDataTypeCollection(WriterGroupMessageDataType[] values) + public static implicit operator ActionTargetDataTypeCollection(ActionTargetDataType[] values) { if (values != null) { - return new WriterGroupMessageDataTypeCollection(values); + return new ActionTargetDataTypeCollection(values); } - return new WriterGroupMessageDataTypeCollection(); + return new ActionTargetDataTypeCollection(); } /// - public static explicit operator WriterGroupMessageDataType[](WriterGroupMessageDataTypeCollection values) + public static explicit operator ActionTargetDataType[](ActionTargetDataTypeCollection values) { if (values != null) { @@ -11935,18 +12315,18 @@ public static explicit operator WriterGroupMessageDataType[](WriterGroupMessageD /// public object Clone() { - return (WriterGroupMessageDataTypeCollection)this.MemberwiseClone(); + return (ActionTargetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - WriterGroupMessageDataTypeCollection clone = new WriterGroupMessageDataTypeCollection(this.Count); + ActionTargetDataTypeCollection clone = new ActionTargetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((WriterGroupMessageDataType)Utils.Clone(this[ii])); + clone.Add((ActionTargetDataType)Utils.Clone(this[ii])); } return clone; @@ -11956,146 +12336,71 @@ public object Clone() #endif #endregion - #region PubSubConnectionDataType Class - #if (!OPCUA_EXCLUDE_PubSubConnectionDataType) + #region PublishedActionDataType Class + #if (!OPCUA_EXCLUDE_PublishedActionDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubConnectionDataType : IEncodeable, IJsonEncodeable + public partial class PublishedActionDataType : Opc.Ua.PublishedDataSetSourceDataType { #region Constructors /// - public PubSubConnectionDataType() + public PublishedActionDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_name = null; - m_enabled = true; - m_publisherId = Variant.Null; - m_transportProfileUri = null; - m_address = null; - m_connectionProperties = new KeyValuePairCollection(); - m_transportSettings = null; - m_writerGroups = new WriterGroupDataTypeCollection(); - m_readerGroups = new ReaderGroupDataTypeCollection(); + m_requestDataSetMetaData = new DataSetMetaDataType(); + m_actionTargets = new ActionTargetDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] - public bool Enabled - { - get { return m_enabled; } - set { m_enabled = value; } - } - - /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public Variant PublisherId - { - get { return m_publisherId; } - set { m_publisherId = value; } - } - - /// - [DataMember(Name = "TransportProfileUri", IsRequired = false, Order = 4)] - public string TransportProfileUri - { - get { return m_transportProfileUri; } - set { m_transportProfileUri = value; } - } - - /// - [DataMember(Name = "Address", IsRequired = false, Order = 5)] - public ExtensionObject Address - { - get { return m_address; } - set { m_address = value; } - } - - /// - [DataMember(Name = "ConnectionProperties", IsRequired = false, Order = 6)] - public KeyValuePairCollection ConnectionProperties - { - get - { - return m_connectionProperties; - } - - set - { - m_connectionProperties = value; - - if (value == null) - { - m_connectionProperties = new KeyValuePairCollection(); - } - } - } - - /// - [DataMember(Name = "TransportSettings", IsRequired = false, Order = 7)] - public ExtensionObject TransportSettings - { - get { return m_transportSettings; } - set { m_transportSettings = value; } - } - - /// - [DataMember(Name = "WriterGroups", IsRequired = false, Order = 8)] - public WriterGroupDataTypeCollection WriterGroups + [DataMember(Name = "RequestDataSetMetaData", IsRequired = false, Order = 1)] + public DataSetMetaDataType RequestDataSetMetaData { get { - return m_writerGroups; + return m_requestDataSetMetaData; } set { - m_writerGroups = value; + m_requestDataSetMetaData = value; if (value == null) { - m_writerGroups = new WriterGroupDataTypeCollection(); + m_requestDataSetMetaData = new DataSetMetaDataType(); } } } /// - [DataMember(Name = "ReaderGroups", IsRequired = false, Order = 9)] - public ReaderGroupDataTypeCollection ReaderGroups + [DataMember(Name = "ActionTargets", IsRequired = false, Order = 2)] + public ActionTargetDataTypeCollection ActionTargets { get { - return m_readerGroups; + return m_actionTargets; } set { - m_readerGroups = value; + m_actionTargets = value; if (value == null) { - m_readerGroups = new ReaderGroupDataTypeCollection(); + m_actionTargets = new ActionTargetDataTypeCollection(); } } } @@ -12103,151 +12408,120 @@ public ReaderGroupDataTypeCollection ReaderGroups #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConnectionDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PublishedActionDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedActionDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteBoolean("Enabled", Enabled); - encoder.WriteVariant("PublisherId", PublisherId); - encoder.WriteString("TransportProfileUri", TransportProfileUri); - encoder.WriteExtensionObject("Address", Address); - encoder.WriteEncodeableArray("ConnectionProperties", ConnectionProperties.ToArray(), typeof(KeyValuePair)); - encoder.WriteExtensionObject("TransportSettings", TransportSettings); - encoder.WriteEncodeableArray("WriterGroups", WriterGroups.ToArray(), typeof(WriterGroupDataType)); - encoder.WriteEncodeableArray("ReaderGroups", ReaderGroups.ToArray(), typeof(ReaderGroupDataType)); + encoder.WriteEncodeable("RequestDataSetMetaData", RequestDataSetMetaData, typeof(DataSetMetaDataType)); + encoder.WriteEncodeableArray("ActionTargets", ActionTargets.ToArray(), typeof(ActionTargetDataType)); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - Enabled = decoder.ReadBoolean("Enabled"); - PublisherId = decoder.ReadVariant("PublisherId"); - TransportProfileUri = decoder.ReadString("TransportProfileUri"); - Address = decoder.ReadExtensionObject("Address"); - ConnectionProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("ConnectionProperties", typeof(KeyValuePair)); - TransportSettings = decoder.ReadExtensionObject("TransportSettings"); - WriterGroups = (WriterGroupDataTypeCollection)decoder.ReadEncodeableArray("WriterGroups", typeof(WriterGroupDataType)); - ReaderGroups = (ReaderGroupDataTypeCollection)decoder.ReadEncodeableArray("ReaderGroups", typeof(ReaderGroupDataType)); + RequestDataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("RequestDataSetMetaData", typeof(DataSetMetaDataType)); + ActionTargets = (ActionTargetDataTypeCollection)decoder.ReadEncodeableArray("ActionTargets", typeof(ActionTargetDataType)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PubSubConnectionDataType value = encodeable as PubSubConnectionDataType; + PublishedActionDataType value = encodeable as PublishedActionDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_transportProfileUri, value.m_transportProfileUri)) return false; - if (!Utils.IsEqual(m_address, value.m_address)) return false; - if (!Utils.IsEqual(m_connectionProperties, value.m_connectionProperties)) return false; - if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; - if (!Utils.IsEqual(m_writerGroups, value.m_writerGroups)) return false; - if (!Utils.IsEqual(m_readerGroups, value.m_readerGroups)) return false; + if (!Utils.IsEqual(m_requestDataSetMetaData, value.m_requestDataSetMetaData)) return false; + if (!Utils.IsEqual(m_actionTargets, value.m_actionTargets)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PubSubConnectionDataType)this.MemberwiseClone(); + return (PublishedActionDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubConnectionDataType clone = (PubSubConnectionDataType)base.MemberwiseClone(); + PublishedActionDataType clone = (PublishedActionDataType)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_enabled = (bool)Utils.Clone(this.m_enabled); - clone.m_publisherId = (Variant)Utils.Clone(this.m_publisherId); - clone.m_transportProfileUri = (string)Utils.Clone(this.m_transportProfileUri); - clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); - clone.m_connectionProperties = (KeyValuePairCollection)Utils.Clone(this.m_connectionProperties); - clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); - clone.m_writerGroups = (WriterGroupDataTypeCollection)Utils.Clone(this.m_writerGroups); - clone.m_readerGroups = (ReaderGroupDataTypeCollection)Utils.Clone(this.m_readerGroups); + clone.m_requestDataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_requestDataSetMetaData); + clone.m_actionTargets = (ActionTargetDataTypeCollection)Utils.Clone(this.m_actionTargets); return clone; } #endregion #region Private Fields - private string m_name; - private bool m_enabled; - private Variant m_publisherId; - private string m_transportProfileUri; - private ExtensionObject m_address; - private KeyValuePairCollection m_connectionProperties; - private ExtensionObject m_transportSettings; - private WriterGroupDataTypeCollection m_writerGroups; - private ReaderGroupDataTypeCollection m_readerGroups; + private DataSetMetaDataType m_requestDataSetMetaData; + private ActionTargetDataTypeCollection m_actionTargets; #endregion } - #region PubSubConnectionDataTypeCollection Class + #region PublishedActionDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConnectionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConnectionDataType")] - public partial class PubSubConnectionDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedActionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedActionDataType")] + public partial class PublishedActionDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConnectionDataTypeCollection() {} + public PublishedActionDataTypeCollection() {} /// - public PubSubConnectionDataTypeCollection(int capacity) : base(capacity) {} + public PublishedActionDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConnectionDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedActionDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConnectionDataTypeCollection(PubSubConnectionDataType[] values) + public static implicit operator PublishedActionDataTypeCollection(PublishedActionDataType[] values) { if (values != null) { - return new PubSubConnectionDataTypeCollection(values); + return new PublishedActionDataTypeCollection(values); } - return new PubSubConnectionDataTypeCollection(); + return new PublishedActionDataTypeCollection(); } /// - public static explicit operator PubSubConnectionDataType[](PubSubConnectionDataTypeCollection values) + public static explicit operator PublishedActionDataType[](PublishedActionDataTypeCollection values) { if (values != null) { @@ -12262,18 +12536,18 @@ public static explicit operator PubSubConnectionDataType[](PubSubConnectionDataT /// public object Clone() { - return (PubSubConnectionDataTypeCollection)this.MemberwiseClone(); + return (PublishedActionDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConnectionDataTypeCollection clone = new PubSubConnectionDataTypeCollection(this.Count); + PublishedActionDataTypeCollection clone = new PublishedActionDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConnectionDataType)Utils.Clone(this[ii])); + clone.Add((PublishedActionDataType)Utils.Clone(this[ii])); } return clone; @@ -12283,137 +12557,59 @@ public object Clone() #endif #endregion - #region ConnectionTransportDataType Class - #if (!OPCUA_EXCLUDE_ConnectionTransportDataType) + #region ActionState Enumeration + #if (!OPCUA_EXCLUDE_ActionState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ConnectionTransportDataType : IEncodeable, IJsonEncodeable + public enum ActionState { - #region Constructors /// - public ConnectionTransportDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - } - #endregion - - #region Public Properties - #endregion - - #region IEncodeable Members - /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ConnectionTransportDataType; - - /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultBinary; - - /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultXml; - - /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultJson; - - /// - public virtual void Encode(IEncoder encoder) - { - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - - encoder.PopNamespace(); - } - - /// - public virtual void Decode(IDecoder decoder) - { - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - - decoder.PopNamespace(); - } - - /// - public virtual bool IsEqual(IEncodeable encodeable) - { - if (Object.ReferenceEquals(this, encodeable)) - { - return true; - } - - ConnectionTransportDataType value = encodeable as ConnectionTransportDataType; - - if (value == null) - { - return false; - } - - - return true; - } - - /// - public virtual object Clone() - { - return (ConnectionTransportDataType)this.MemberwiseClone(); - } - - /// - public new object MemberwiseClone() - { - ConnectionTransportDataType clone = (ConnectionTransportDataType)base.MemberwiseClone(); - + [EnumMember(Value = "Idle_0")] + Idle = 0, - return clone; - } - #endregion + /// + [EnumMember(Value = "Executing_1")] + Executing = 1, - #region Private Fields - #endregion + /// + [EnumMember(Value = "Done_2")] + Done = 2, } - #region ConnectionTransportDataTypeCollection Class + #region ActionStateCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConnectionTransportDataType")] - public partial class ConnectionTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfActionState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionState")] + public partial class ActionStateCollection : List, ICloneable { #region Constructors /// - public ConnectionTransportDataTypeCollection() {} + public ActionStateCollection() {} /// - public ConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} + public ActionStateCollection(int capacity) : base(capacity) {} /// - public ConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public ActionStateCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ConnectionTransportDataTypeCollection(ConnectionTransportDataType[] values) + public static implicit operator ActionStateCollection(ActionState[] values) { if (values != null) { - return new ConnectionTransportDataTypeCollection(values); + return new ActionStateCollection(values); } - return new ConnectionTransportDataTypeCollection(); + return new ActionStateCollection(); } /// - public static explicit operator ConnectionTransportDataType[](ConnectionTransportDataTypeCollection values) + public static explicit operator ActionState[](ActionStateCollection values) { if (values != null) { @@ -12428,18 +12624,18 @@ public static explicit operator ConnectionTransportDataType[](ConnectionTranspor /// public object Clone() { - return (ConnectionTransportDataTypeCollection)this.MemberwiseClone(); + return (ActionStateCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ConnectionTransportDataTypeCollection clone = new ConnectionTransportDataTypeCollection(this.Count); + ActionStateCollection clone = new ActionStateCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ConnectionTransportDataType)Utils.Clone(this[ii])); + clone.Add((ActionState)Utils.Clone(this[ii])); } return clone; @@ -12449,17 +12645,17 @@ public object Clone() #endif #endregion - #region NetworkAddressDataType Class - #if (!OPCUA_EXCLUDE_NetworkAddressDataType) + #region ActionMethodDataType Class + #if (!OPCUA_EXCLUDE_ActionMethodDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class NetworkAddressDataType : IEncodeable, IJsonEncodeable + public partial class ActionMethodDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public NetworkAddressDataType() + public ActionMethodDataType() { Initialize(); } @@ -12472,39 +12668,49 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_networkInterface = null; + m_objectId = null; + m_methodId = null; } #endregion #region Public Properties /// - [DataMember(Name = "NetworkInterface", IsRequired = false, Order = 1)] - public string NetworkInterface + [DataMember(Name = "ObjectId", IsRequired = false, Order = 1)] + public NodeId ObjectId { - get { return m_networkInterface; } - set { m_networkInterface = value; } + get { return m_objectId; } + set { m_objectId = value; } + } + + /// + [DataMember(Name = "MethodId", IsRequired = false, Order = 2)] + public NodeId MethodId + { + get { return m_methodId; } + set { m_methodId = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.NetworkAddressDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ActionMethodDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ActionMethodDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("NetworkInterface", NetworkInterface); + encoder.WriteNodeId("ObjectId", ObjectId); + encoder.WriteNodeId("MethodId", MethodId); encoder.PopNamespace(); } @@ -12514,7 +12720,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - NetworkInterface = decoder.ReadString("NetworkInterface"); + ObjectId = decoder.ReadNodeId("ObjectId"); + MethodId = decoder.ReadNodeId("MethodId"); decoder.PopNamespace(); } @@ -12527,14 +12734,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - NetworkAddressDataType value = encodeable as NetworkAddressDataType; + ActionMethodDataType value = encodeable as ActionMethodDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_networkInterface, value.m_networkInterface)) return false; + if (!Utils.IsEqual(m_objectId, value.m_objectId)) return false; + if (!Utils.IsEqual(m_methodId, value.m_methodId)) return false; return true; } @@ -12542,57 +12750,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (NetworkAddressDataType)this.MemberwiseClone(); + return (ActionMethodDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - NetworkAddressDataType clone = (NetworkAddressDataType)base.MemberwiseClone(); + ActionMethodDataType clone = (ActionMethodDataType)base.MemberwiseClone(); - clone.m_networkInterface = (string)Utils.Clone(this.m_networkInterface); + clone.m_objectId = (NodeId)Utils.Clone(this.m_objectId); + clone.m_methodId = (NodeId)Utils.Clone(this.m_methodId); return clone; } #endregion #region Private Fields - private string m_networkInterface; + private NodeId m_objectId; + private NodeId m_methodId; #endregion } - #region NetworkAddressDataTypeCollection Class + #region ActionMethodDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfNetworkAddressDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NetworkAddressDataType")] - public partial class NetworkAddressDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfActionMethodDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ActionMethodDataType")] + public partial class ActionMethodDataTypeCollection : List, ICloneable { #region Constructors /// - public NetworkAddressDataTypeCollection() {} + public ActionMethodDataTypeCollection() {} /// - public NetworkAddressDataTypeCollection(int capacity) : base(capacity) {} + public ActionMethodDataTypeCollection(int capacity) : base(capacity) {} /// - public NetworkAddressDataTypeCollection(IEnumerable collection) : base(collection) {} + public ActionMethodDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator NetworkAddressDataTypeCollection(NetworkAddressDataType[] values) + public static implicit operator ActionMethodDataTypeCollection(ActionMethodDataType[] values) { if (values != null) { - return new NetworkAddressDataTypeCollection(values); + return new ActionMethodDataTypeCollection(values); } - return new NetworkAddressDataTypeCollection(); + return new ActionMethodDataTypeCollection(); } /// - public static explicit operator NetworkAddressDataType[](NetworkAddressDataTypeCollection values) + public static explicit operator ActionMethodDataType[](ActionMethodDataTypeCollection values) { if (values != null) { @@ -12607,18 +12817,18 @@ public static explicit operator NetworkAddressDataType[](NetworkAddressDataTypeC /// public object Clone() { - return (NetworkAddressDataTypeCollection)this.MemberwiseClone(); + return (ActionMethodDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - NetworkAddressDataTypeCollection clone = new NetworkAddressDataTypeCollection(this.Count); + ActionMethodDataTypeCollection clone = new ActionMethodDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((NetworkAddressDataType)Utils.Clone(this[ii])); + clone.Add((ActionMethodDataType)Utils.Clone(this[ii])); } return clone; @@ -12628,17 +12838,17 @@ public object Clone() #endif #endregion - #region NetworkAddressUrlDataType Class - #if (!OPCUA_EXCLUDE_NetworkAddressUrlDataType) + #region PublishedActionMethodDataType Class + #if (!OPCUA_EXCLUDE_PublishedActionMethodDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class NetworkAddressUrlDataType : Opc.Ua.NetworkAddressDataType + public partial class PublishedActionMethodDataType : Opc.Ua.PublishedActionDataType { #region Constructors /// - public NetworkAddressUrlDataType() + public PublishedActionMethodDataType() { Initialize(); } @@ -12651,32 +12861,44 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_url = null; + m_actionMethods = new ActionMethodDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "Url", IsRequired = false, Order = 1)] - public string Url + [DataMember(Name = "ActionMethods", IsRequired = false, Order = 1)] + public ActionMethodDataTypeCollection ActionMethods { - get { return m_url; } - set { m_url = value; } + get + { + return m_actionMethods; + } + + set + { + m_actionMethods = value; + + if (value == null) + { + m_actionMethods = new ActionMethodDataTypeCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.NetworkAddressUrlDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PublishedActionMethodDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PublishedActionMethodDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -12685,7 +12907,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Url", Url); + encoder.WriteEncodeableArray("ActionMethods", ActionMethods.ToArray(), typeof(ActionMethodDataType)); encoder.PopNamespace(); } @@ -12697,7 +12919,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Url = decoder.ReadString("Url"); + ActionMethods = (ActionMethodDataTypeCollection)decoder.ReadEncodeableArray("ActionMethods", typeof(ActionMethodDataType)); decoder.PopNamespace(); } @@ -12710,14 +12932,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - NetworkAddressUrlDataType value = encodeable as NetworkAddressUrlDataType; + PublishedActionMethodDataType value = encodeable as PublishedActionMethodDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_url, value.m_url)) return false; + if (!Utils.IsEqual(m_actionMethods, value.m_actionMethods)) return false; return base.IsEqual(encodeable); } @@ -12725,57 +12947,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (NetworkAddressUrlDataType)this.MemberwiseClone(); + return (PublishedActionMethodDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - NetworkAddressUrlDataType clone = (NetworkAddressUrlDataType)base.MemberwiseClone(); + PublishedActionMethodDataType clone = (PublishedActionMethodDataType)base.MemberwiseClone(); - clone.m_url = (string)Utils.Clone(this.m_url); + clone.m_actionMethods = (ActionMethodDataTypeCollection)Utils.Clone(this.m_actionMethods); return clone; } #endregion #region Private Fields - private string m_url; + private ActionMethodDataTypeCollection m_actionMethods; #endregion } - #region NetworkAddressUrlDataTypeCollection Class + #region PublishedActionMethodDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfNetworkAddressUrlDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NetworkAddressUrlDataType")] - public partial class NetworkAddressUrlDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPublishedActionMethodDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PublishedActionMethodDataType")] + public partial class PublishedActionMethodDataTypeCollection : List, ICloneable { #region Constructors /// - public NetworkAddressUrlDataTypeCollection() {} + public PublishedActionMethodDataTypeCollection() {} /// - public NetworkAddressUrlDataTypeCollection(int capacity) : base(capacity) {} + public PublishedActionMethodDataTypeCollection(int capacity) : base(capacity) {} /// - public NetworkAddressUrlDataTypeCollection(IEnumerable collection) : base(collection) {} + public PublishedActionMethodDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator NetworkAddressUrlDataTypeCollection(NetworkAddressUrlDataType[] values) + public static implicit operator PublishedActionMethodDataTypeCollection(PublishedActionMethodDataType[] values) { if (values != null) { - return new NetworkAddressUrlDataTypeCollection(values); + return new PublishedActionMethodDataTypeCollection(values); } - return new NetworkAddressUrlDataTypeCollection(); + return new PublishedActionMethodDataTypeCollection(); } /// - public static explicit operator NetworkAddressUrlDataType[](NetworkAddressUrlDataTypeCollection values) + public static explicit operator PublishedActionMethodDataType[](PublishedActionMethodDataTypeCollection values) { if (values != null) { @@ -12790,18 +13012,18 @@ public static explicit operator NetworkAddressUrlDataType[](NetworkAddressUrlDat /// public object Clone() { - return (NetworkAddressUrlDataTypeCollection)this.MemberwiseClone(); + return (PublishedActionMethodDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - NetworkAddressUrlDataTypeCollection clone = new NetworkAddressUrlDataTypeCollection(this.Count); + PublishedActionMethodDataTypeCollection clone = new PublishedActionMethodDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((NetworkAddressUrlDataType)Utils.Clone(this[ii])); + clone.Add((PublishedActionMethodDataType)Utils.Clone(this[ii])); } return clone; @@ -12811,194 +13033,378 @@ public object Clone() #endif #endregion - #region ReaderGroupDataType Class - #if (!OPCUA_EXCLUDE_ReaderGroupDataType) + #region DataSetFieldContentMask Enumeration + #if (!OPCUA_EXCLUDE_DataSetFieldContentMask) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReaderGroupDataType : Opc.Ua.PubSubGroupDataType + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum DataSetFieldContentMask : UInt32 { - #region Constructors /// - public ReaderGroupDataType() - { - Initialize(); - } + [EnumMember(Value = "None_0")] + None = 0, - [OnDeserializing] - private void Initialize(StreamingContext context) + /// + [EnumMember(Value = "StatusCode_1")] + StatusCode = 1, + + /// + [EnumMember(Value = "SourceTimestamp_2")] + SourceTimestamp = 2, + + /// + [EnumMember(Value = "ServerTimestamp_4")] + ServerTimestamp = 4, + + /// + [EnumMember(Value = "SourcePicoSeconds_8")] + SourcePicoSeconds = 8, + + /// + [EnumMember(Value = "ServerPicoSeconds_16")] + ServerPicoSeconds = 16, + + /// + [EnumMember(Value = "RawData_32")] + RawData = 32, + } + + #region DataSetFieldContentMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfDataSetFieldContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetFieldContentMask")] + public partial class DataSetFieldContentMaskCollection : List, ICloneable + { + #region Constructors + /// + public DataSetFieldContentMaskCollection() {} + + /// + public DataSetFieldContentMaskCollection(int capacity) : base(capacity) {} + + /// + public DataSetFieldContentMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator DataSetFieldContentMaskCollection(DataSetFieldContentMask[] values) { - Initialize(); + if (values != null) + { + return new DataSetFieldContentMaskCollection(values); + } + + return new DataSetFieldContentMaskCollection(); + } + + /// + public static explicit operator DataSetFieldContentMask[](DataSetFieldContentMaskCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (DataSetFieldContentMaskCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + DataSetFieldContentMaskCollection clone = new DataSetFieldContentMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((DataSetFieldContentMask)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + #region DataSetWriterDataType Class + #if (!OPCUA_EXCLUDE_DataSetWriterDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class DataSetWriterDataType : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public DataSetWriterDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + private void Initialize() { + m_name = null; + m_enabled = true; + m_dataSetWriterId = (ushort)0; + m_dataSetFieldContentMask = 0; + m_keyFrameCount = (uint)0; + m_dataSetName = null; + m_dataSetWriterProperties = new KeyValuePairCollection(); m_transportSettings = null; m_messageSettings = null; - m_dataSetReaders = new DataSetReaderDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "TransportSettings", IsRequired = false, Order = 1)] - public ExtensionObject TransportSettings + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name { - get { return m_transportSettings; } - set { m_transportSettings = value; } + get { return m_name; } + set { m_name = value; } } /// - [DataMember(Name = "MessageSettings", IsRequired = false, Order = 2)] - public ExtensionObject MessageSettings + [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] + public bool Enabled { - get { return m_messageSettings; } - set { m_messageSettings = value; } + get { return m_enabled; } + set { m_enabled = value; } } /// - [DataMember(Name = "DataSetReaders", IsRequired = false, Order = 3)] - public DataSetReaderDataTypeCollection DataSetReaders + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 3)] + public ushort DataSetWriterId + { + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } + } + + /// + [DataMember(Name = "DataSetFieldContentMask", IsRequired = false, Order = 4)] + public uint DataSetFieldContentMask + { + get { return m_dataSetFieldContentMask; } + set { m_dataSetFieldContentMask = value; } + } + + /// + [DataMember(Name = "KeyFrameCount", IsRequired = false, Order = 5)] + public uint KeyFrameCount + { + get { return m_keyFrameCount; } + set { m_keyFrameCount = value; } + } + + /// + [DataMember(Name = "DataSetName", IsRequired = false, Order = 6)] + public string DataSetName + { + get { return m_dataSetName; } + set { m_dataSetName = value; } + } + + /// + [DataMember(Name = "DataSetWriterProperties", IsRequired = false, Order = 7)] + public KeyValuePairCollection DataSetWriterProperties { get { - return m_dataSetReaders; + return m_dataSetWriterProperties; } set { - m_dataSetReaders = value; + m_dataSetWriterProperties = value; if (value == null) { - m_dataSetReaders = new DataSetReaderDataTypeCollection(); + m_dataSetWriterProperties = new KeyValuePairCollection(); } } } + + /// + [DataMember(Name = "TransportSettings", IsRequired = false, Order = 8)] + public ExtensionObject TransportSettings + { + get { return m_transportSettings; } + set { m_transportSettings = value; } + } + + /// + [DataMember(Name = "MessageSettings", IsRequired = false, Order = 9)] + public ExtensionObject MessageSettings + { + get { return m_messageSettings; } + set { m_messageSettings = value; } + } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.ReaderGroupDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteString("Name", Name); + encoder.WriteBoolean("Enabled", Enabled); + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteUInt32("DataSetFieldContentMask", DataSetFieldContentMask); + encoder.WriteUInt32("KeyFrameCount", KeyFrameCount); + encoder.WriteString("DataSetName", DataSetName); + encoder.WriteEncodeableArray("DataSetWriterProperties", DataSetWriterProperties.ToArray(), typeof(KeyValuePair)); encoder.WriteExtensionObject("TransportSettings", TransportSettings); encoder.WriteExtensionObject("MessageSettings", MessageSettings); - encoder.WriteEncodeableArray("DataSetReaders", DataSetReaders.ToArray(), typeof(DataSetReaderDataType)); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + Name = decoder.ReadString("Name"); + Enabled = decoder.ReadBoolean("Enabled"); + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + DataSetFieldContentMask = decoder.ReadUInt32("DataSetFieldContentMask"); + KeyFrameCount = decoder.ReadUInt32("KeyFrameCount"); + DataSetName = decoder.ReadString("DataSetName"); + DataSetWriterProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("DataSetWriterProperties", typeof(KeyValuePair)); TransportSettings = decoder.ReadExtensionObject("TransportSettings"); MessageSettings = decoder.ReadExtensionObject("MessageSettings"); - DataSetReaders = (DataSetReaderDataTypeCollection)decoder.ReadEncodeableArray("DataSetReaders", typeof(DataSetReaderDataType)); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - ReaderGroupDataType value = encodeable as ReaderGroupDataType; + DataSetWriterDataType value = encodeable as DataSetWriterDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_dataSetFieldContentMask, value.m_dataSetFieldContentMask)) return false; + if (!Utils.IsEqual(m_keyFrameCount, value.m_keyFrameCount)) return false; + if (!Utils.IsEqual(m_dataSetName, value.m_dataSetName)) return false; + if (!Utils.IsEqual(m_dataSetWriterProperties, value.m_dataSetWriterProperties)) return false; if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; - if (!Utils.IsEqual(m_dataSetReaders, value.m_dataSetReaders)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (ReaderGroupDataType)this.MemberwiseClone(); + return (DataSetWriterDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReaderGroupDataType clone = (ReaderGroupDataType)base.MemberwiseClone(); + DataSetWriterDataType clone = (DataSetWriterDataType)base.MemberwiseClone(); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_enabled = (bool)Utils.Clone(this.m_enabled); + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_dataSetFieldContentMask = (uint)Utils.Clone(this.m_dataSetFieldContentMask); + clone.m_keyFrameCount = (uint)Utils.Clone(this.m_keyFrameCount); + clone.m_dataSetName = (string)Utils.Clone(this.m_dataSetName); + clone.m_dataSetWriterProperties = (KeyValuePairCollection)Utils.Clone(this.m_dataSetWriterProperties); clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); - clone.m_dataSetReaders = (DataSetReaderDataTypeCollection)Utils.Clone(this.m_dataSetReaders); return clone; } #endregion #region Private Fields + private string m_name; + private bool m_enabled; + private ushort m_dataSetWriterId; + private uint m_dataSetFieldContentMask; + private uint m_keyFrameCount; + private string m_dataSetName; + private KeyValuePairCollection m_dataSetWriterProperties; private ExtensionObject m_transportSettings; private ExtensionObject m_messageSettings; - private DataSetReaderDataTypeCollection m_dataSetReaders; #endregion } - #region ReaderGroupDataTypeCollection Class + #region DataSetWriterDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReaderGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupDataType")] - public partial class ReaderGroupDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetWriterDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterDataType")] + public partial class DataSetWriterDataTypeCollection : List, ICloneable { #region Constructors /// - public ReaderGroupDataTypeCollection() {} + public DataSetWriterDataTypeCollection() {} /// - public ReaderGroupDataTypeCollection(int capacity) : base(capacity) {} + public DataSetWriterDataTypeCollection(int capacity) : base(capacity) {} /// - public ReaderGroupDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetWriterDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReaderGroupDataTypeCollection(ReaderGroupDataType[] values) + public static implicit operator DataSetWriterDataTypeCollection(DataSetWriterDataType[] values) { if (values != null) { - return new ReaderGroupDataTypeCollection(values); + return new DataSetWriterDataTypeCollection(values); } - return new ReaderGroupDataTypeCollection(); + return new DataSetWriterDataTypeCollection(); } /// - public static explicit operator ReaderGroupDataType[](ReaderGroupDataTypeCollection values) + public static explicit operator DataSetWriterDataType[](DataSetWriterDataTypeCollection values) { if (values != null) { @@ -13013,18 +13419,18 @@ public static explicit operator ReaderGroupDataType[](ReaderGroupDataTypeCollect /// public object Clone() { - return (ReaderGroupDataTypeCollection)this.MemberwiseClone(); + return (DataSetWriterDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReaderGroupDataTypeCollection clone = new ReaderGroupDataTypeCollection(this.Count); + DataSetWriterDataTypeCollection clone = new DataSetWriterDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReaderGroupDataType)Utils.Clone(this[ii])); + clone.Add((DataSetWriterDataType)Utils.Clone(this[ii])); } return clone; @@ -13034,17 +13440,17 @@ public object Clone() #endif #endregion - #region ReaderGroupTransportDataType Class - #if (!OPCUA_EXCLUDE_ReaderGroupTransportDataType) + #region DataSetWriterTransportDataType Class + #if (!OPCUA_EXCLUDE_DataSetWriterTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReaderGroupTransportDataType : IEncodeable, IJsonEncodeable + public partial class DataSetWriterTransportDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public ReaderGroupTransportDataType() + public DataSetWriterTransportDataType() { Initialize(); } @@ -13065,16 +13471,16 @@ private void Initialize() #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ReaderGroupTransportDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -13102,7 +13508,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ReaderGroupTransportDataType value = encodeable as ReaderGroupTransportDataType; + DataSetWriterTransportDataType value = encodeable as DataSetWriterTransportDataType; if (value == null) { @@ -13116,13 +13522,13 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ReaderGroupTransportDataType)this.MemberwiseClone(); + return (DataSetWriterTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReaderGroupTransportDataType clone = (ReaderGroupTransportDataType)base.MemberwiseClone(); + DataSetWriterTransportDataType clone = (DataSetWriterTransportDataType)base.MemberwiseClone(); return clone; @@ -13133,38 +13539,38 @@ public virtual object Clone() #endregion } - #region ReaderGroupTransportDataTypeCollection Class + #region DataSetWriterTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReaderGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupTransportDataType")] - public partial class ReaderGroupTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetWriterTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterTransportDataType")] + public partial class DataSetWriterTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public ReaderGroupTransportDataTypeCollection() {} + public DataSetWriterTransportDataTypeCollection() {} /// - public ReaderGroupTransportDataTypeCollection(int capacity) : base(capacity) {} + public DataSetWriterTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public ReaderGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetWriterTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReaderGroupTransportDataTypeCollection(ReaderGroupTransportDataType[] values) + public static implicit operator DataSetWriterTransportDataTypeCollection(DataSetWriterTransportDataType[] values) { if (values != null) { - return new ReaderGroupTransportDataTypeCollection(values); + return new DataSetWriterTransportDataTypeCollection(values); } - return new ReaderGroupTransportDataTypeCollection(); + return new DataSetWriterTransportDataTypeCollection(); } /// - public static explicit operator ReaderGroupTransportDataType[](ReaderGroupTransportDataTypeCollection values) + public static explicit operator DataSetWriterTransportDataType[](DataSetWriterTransportDataTypeCollection values) { if (values != null) { @@ -13179,18 +13585,18 @@ public static explicit operator ReaderGroupTransportDataType[](ReaderGroupTransp /// public object Clone() { - return (ReaderGroupTransportDataTypeCollection)this.MemberwiseClone(); + return (DataSetWriterTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReaderGroupTransportDataTypeCollection clone = new ReaderGroupTransportDataTypeCollection(this.Count); + DataSetWriterTransportDataTypeCollection clone = new DataSetWriterTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReaderGroupTransportDataType)Utils.Clone(this[ii])); + clone.Add((DataSetWriterTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -13200,17 +13606,17 @@ public object Clone() #endif #endregion - #region ReaderGroupMessageDataType Class - #if (!OPCUA_EXCLUDE_ReaderGroupMessageDataType) + #region DataSetWriterMessageDataType Class + #if (!OPCUA_EXCLUDE_DataSetWriterMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReaderGroupMessageDataType : IEncodeable, IJsonEncodeable + public partial class DataSetWriterMessageDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public ReaderGroupMessageDataType() + public DataSetWriterMessageDataType() { Initialize(); } @@ -13231,16 +13637,16 @@ private void Initialize() #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ReaderGroupMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetWriterMessageDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -13268,7 +13674,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ReaderGroupMessageDataType value = encodeable as ReaderGroupMessageDataType; + DataSetWriterMessageDataType value = encodeable as DataSetWriterMessageDataType; if (value == null) { @@ -13282,13 +13688,13 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ReaderGroupMessageDataType)this.MemberwiseClone(); + return (DataSetWriterMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReaderGroupMessageDataType clone = (ReaderGroupMessageDataType)base.MemberwiseClone(); + DataSetWriterMessageDataType clone = (DataSetWriterMessageDataType)base.MemberwiseClone(); return clone; @@ -13299,38 +13705,38 @@ public virtual object Clone() #endregion } - #region ReaderGroupMessageDataTypeCollection Class + #region DataSetWriterMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReaderGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupMessageDataType")] - public partial class ReaderGroupMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetWriterMessageDataType")] + public partial class DataSetWriterMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public ReaderGroupMessageDataTypeCollection() {} + public DataSetWriterMessageDataTypeCollection() {} /// - public ReaderGroupMessageDataTypeCollection(int capacity) : base(capacity) {} + public DataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public ReaderGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReaderGroupMessageDataTypeCollection(ReaderGroupMessageDataType[] values) + public static implicit operator DataSetWriterMessageDataTypeCollection(DataSetWriterMessageDataType[] values) { if (values != null) { - return new ReaderGroupMessageDataTypeCollection(values); + return new DataSetWriterMessageDataTypeCollection(values); } - return new ReaderGroupMessageDataTypeCollection(); + return new DataSetWriterMessageDataTypeCollection(); } /// - public static explicit operator ReaderGroupMessageDataType[](ReaderGroupMessageDataTypeCollection values) + public static explicit operator DataSetWriterMessageDataType[](DataSetWriterMessageDataTypeCollection values) { if (values != null) { @@ -13345,18 +13751,18 @@ public static explicit operator ReaderGroupMessageDataType[](ReaderGroupMessageD /// public object Clone() { - return (ReaderGroupMessageDataTypeCollection)this.MemberwiseClone(); + return (DataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReaderGroupMessageDataTypeCollection clone = new ReaderGroupMessageDataTypeCollection(this.Count); + DataSetWriterMessageDataTypeCollection clone = new DataSetWriterMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReaderGroupMessageDataType)Utils.Clone(this[ii])); + clone.Add((DataSetWriterMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -13366,17 +13772,17 @@ public object Clone() #endif #endregion - #region DataSetReaderDataType Class - #if (!OPCUA_EXCLUDE_DataSetReaderDataType) + #region PubSubGroupDataType Class + #if (!OPCUA_EXCLUDE_PubSubGroupDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetReaderDataType : IEncodeable, IJsonEncodeable + public partial class PubSubGroupDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataSetReaderDataType() + public PubSubGroupDataType() { Initialize(); } @@ -13391,21 +13797,11 @@ private void Initialize() { m_name = null; m_enabled = true; - m_publisherId = Variant.Null; - m_writerGroupId = (ushort)0; - m_dataSetWriterId = (ushort)0; - m_dataSetMetaData = new DataSetMetaDataType(); - m_dataSetFieldContentMask = 0; - m_messageReceiveTimeout = (double)0; - m_keyFrameCount = (uint)0; - m_headerLayoutUri = null; m_securityMode = MessageSecurityMode.Invalid; m_securityGroupId = null; m_securityKeyServices = new EndpointDescriptionCollection(); - m_dataSetReaderProperties = new KeyValuePairCollection(); - m_transportSettings = null; - m_messageSettings = null; - m_subscribedDataSet = null; + m_maxNetworkMessageSize = (uint)0; + m_groupProperties = new KeyValuePairCollection(); } #endregion @@ -13427,83 +13823,7 @@ public bool Enabled } /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public Variant PublisherId - { - get { return m_publisherId; } - set { m_publisherId = value; } - } - - /// - [DataMember(Name = "WriterGroupId", IsRequired = false, Order = 4)] - public ushort WriterGroupId - { - get { return m_writerGroupId; } - set { m_writerGroupId = value; } - } - - /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 5)] - public ushort DataSetWriterId - { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } - } - - /// - [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 6)] - public DataSetMetaDataType DataSetMetaData - { - get - { - return m_dataSetMetaData; - } - - set - { - m_dataSetMetaData = value; - - if (value == null) - { - m_dataSetMetaData = new DataSetMetaDataType(); - } - } - } - - /// - [DataMember(Name = "DataSetFieldContentMask", IsRequired = false, Order = 7)] - public uint DataSetFieldContentMask - { - get { return m_dataSetFieldContentMask; } - set { m_dataSetFieldContentMask = value; } - } - - /// - [DataMember(Name = "MessageReceiveTimeout", IsRequired = false, Order = 8)] - public double MessageReceiveTimeout - { - get { return m_messageReceiveTimeout; } - set { m_messageReceiveTimeout = value; } - } - - /// - [DataMember(Name = "KeyFrameCount", IsRequired = false, Order = 9)] - public uint KeyFrameCount - { - get { return m_keyFrameCount; } - set { m_keyFrameCount = value; } - } - - /// - [DataMember(Name = "HeaderLayoutUri", IsRequired = false, Order = 10)] - public string HeaderLayoutUri - { - get { return m_headerLayoutUri; } - set { m_headerLayoutUri = value; } - } - - /// - [DataMember(Name = "SecurityMode", IsRequired = false, Order = 11)] + [DataMember(Name = "SecurityMode", IsRequired = false, Order = 3)] public MessageSecurityMode SecurityMode { get { return m_securityMode; } @@ -13511,7 +13831,7 @@ public MessageSecurityMode SecurityMode } /// - [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 12)] + [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 4)] public string SecurityGroupId { get { return m_securityGroupId; } @@ -13519,7 +13839,7 @@ public string SecurityGroupId } /// - [DataMember(Name = "SecurityKeyServices", IsRequired = false, Order = 13)] + [DataMember(Name = "SecurityKeyServices", IsRequired = false, Order = 5)] public EndpointDescriptionCollection SecurityKeyServices { get @@ -13539,62 +13859,46 @@ public EndpointDescriptionCollection SecurityKeyServices } /// - [DataMember(Name = "DataSetReaderProperties", IsRequired = false, Order = 14)] - public KeyValuePairCollection DataSetReaderProperties + [DataMember(Name = "MaxNetworkMessageSize", IsRequired = false, Order = 6)] + public uint MaxNetworkMessageSize + { + get { return m_maxNetworkMessageSize; } + set { m_maxNetworkMessageSize = value; } + } + + /// + [DataMember(Name = "GroupProperties", IsRequired = false, Order = 7)] + public KeyValuePairCollection GroupProperties { get { - return m_dataSetReaderProperties; + return m_groupProperties; } set { - m_dataSetReaderProperties = value; + m_groupProperties = value; if (value == null) { - m_dataSetReaderProperties = new KeyValuePairCollection(); + m_groupProperties = new KeyValuePairCollection(); } } } - - /// - [DataMember(Name = "TransportSettings", IsRequired = false, Order = 15)] - public ExtensionObject TransportSettings - { - get { return m_transportSettings; } - set { m_transportSettings = value; } - } - - /// - [DataMember(Name = "MessageSettings", IsRequired = false, Order = 16)] - public ExtensionObject MessageSettings - { - get { return m_messageSettings; } - set { m_messageSettings = value; } - } - - /// - [DataMember(Name = "SubscribedDataSet", IsRequired = false, Order = 17)] - public ExtensionObject SubscribedDataSet - { - get { return m_subscribedDataSet; } - set { m_subscribedDataSet = value; } - } - #endregion + #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubGroupDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubGroupDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -13603,21 +13907,11 @@ public virtual void Encode(IEncoder encoder) encoder.WriteString("Name", Name); encoder.WriteBoolean("Enabled", Enabled); - encoder.WriteVariant("PublisherId", PublisherId); - encoder.WriteUInt16("WriterGroupId", WriterGroupId); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); - encoder.WriteUInt32("DataSetFieldContentMask", DataSetFieldContentMask); - encoder.WriteDouble("MessageReceiveTimeout", MessageReceiveTimeout); - encoder.WriteUInt32("KeyFrameCount", KeyFrameCount); - encoder.WriteString("HeaderLayoutUri", HeaderLayoutUri); encoder.WriteEnumerated("SecurityMode", SecurityMode); encoder.WriteString("SecurityGroupId", SecurityGroupId); encoder.WriteEncodeableArray("SecurityKeyServices", SecurityKeyServices.ToArray(), typeof(EndpointDescription)); - encoder.WriteEncodeableArray("DataSetReaderProperties", DataSetReaderProperties.ToArray(), typeof(KeyValuePair)); - encoder.WriteExtensionObject("TransportSettings", TransportSettings); - encoder.WriteExtensionObject("MessageSettings", MessageSettings); - encoder.WriteExtensionObject("SubscribedDataSet", SubscribedDataSet); + encoder.WriteUInt32("MaxNetworkMessageSize", MaxNetworkMessageSize); + encoder.WriteEncodeableArray("GroupProperties", GroupProperties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } @@ -13629,21 +13923,11 @@ public virtual void Decode(IDecoder decoder) Name = decoder.ReadString("Name"); Enabled = decoder.ReadBoolean("Enabled"); - PublisherId = decoder.ReadVariant("PublisherId"); - WriterGroupId = decoder.ReadUInt16("WriterGroupId"); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); - DataSetFieldContentMask = decoder.ReadUInt32("DataSetFieldContentMask"); - MessageReceiveTimeout = decoder.ReadDouble("MessageReceiveTimeout"); - KeyFrameCount = decoder.ReadUInt32("KeyFrameCount"); - HeaderLayoutUri = decoder.ReadString("HeaderLayoutUri"); SecurityMode = (MessageSecurityMode)decoder.ReadEnumerated("SecurityMode", typeof(MessageSecurityMode)); SecurityGroupId = decoder.ReadString("SecurityGroupId"); SecurityKeyServices = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("SecurityKeyServices", typeof(EndpointDescription)); - DataSetReaderProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("DataSetReaderProperties", typeof(KeyValuePair)); - TransportSettings = decoder.ReadExtensionObject("TransportSettings"); - MessageSettings = decoder.ReadExtensionObject("MessageSettings"); - SubscribedDataSet = decoder.ReadExtensionObject("SubscribedDataSet"); + MaxNetworkMessageSize = decoder.ReadUInt32("MaxNetworkMessageSize"); + GroupProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("GroupProperties", typeof(KeyValuePair)); decoder.PopNamespace(); } @@ -13656,7 +13940,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataSetReaderDataType value = encodeable as DataSetReaderDataType; + PubSubGroupDataType value = encodeable as PubSubGroupDataType; if (value == null) { @@ -13665,21 +13949,11 @@ public virtual bool IsEqual(IEncodeable encodeable) if (!Utils.IsEqual(m_name, value.m_name)) return false; if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_writerGroupId, value.m_writerGroupId)) return false; - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; - if (!Utils.IsEqual(m_dataSetFieldContentMask, value.m_dataSetFieldContentMask)) return false; - if (!Utils.IsEqual(m_messageReceiveTimeout, value.m_messageReceiveTimeout)) return false; - if (!Utils.IsEqual(m_keyFrameCount, value.m_keyFrameCount)) return false; - if (!Utils.IsEqual(m_headerLayoutUri, value.m_headerLayoutUri)) return false; if (!Utils.IsEqual(m_securityMode, value.m_securityMode)) return false; if (!Utils.IsEqual(m_securityGroupId, value.m_securityGroupId)) return false; if (!Utils.IsEqual(m_securityKeyServices, value.m_securityKeyServices)) return false; - if (!Utils.IsEqual(m_dataSetReaderProperties, value.m_dataSetReaderProperties)) return false; - if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; - if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; - if (!Utils.IsEqual(m_subscribedDataSet, value.m_subscribedDataSet)) return false; + if (!Utils.IsEqual(m_maxNetworkMessageSize, value.m_maxNetworkMessageSize)) return false; + if (!Utils.IsEqual(m_groupProperties, value.m_groupProperties)) return false; return true; } @@ -13687,31 +13961,21 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataSetReaderDataType)this.MemberwiseClone(); + return (PubSubGroupDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetReaderDataType clone = (DataSetReaderDataType)base.MemberwiseClone(); + PubSubGroupDataType clone = (PubSubGroupDataType)base.MemberwiseClone(); clone.m_name = (string)Utils.Clone(this.m_name); clone.m_enabled = (bool)Utils.Clone(this.m_enabled); - clone.m_publisherId = (Variant)Utils.Clone(this.m_publisherId); - clone.m_writerGroupId = (ushort)Utils.Clone(this.m_writerGroupId); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); - clone.m_dataSetFieldContentMask = (uint)Utils.Clone(this.m_dataSetFieldContentMask); - clone.m_messageReceiveTimeout = (double)Utils.Clone(this.m_messageReceiveTimeout); - clone.m_keyFrameCount = (uint)Utils.Clone(this.m_keyFrameCount); - clone.m_headerLayoutUri = (string)Utils.Clone(this.m_headerLayoutUri); clone.m_securityMode = (MessageSecurityMode)Utils.Clone(this.m_securityMode); clone.m_securityGroupId = (string)Utils.Clone(this.m_securityGroupId); clone.m_securityKeyServices = (EndpointDescriptionCollection)Utils.Clone(this.m_securityKeyServices); - clone.m_dataSetReaderProperties = (KeyValuePairCollection)Utils.Clone(this.m_dataSetReaderProperties); - clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); - clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); - clone.m_subscribedDataSet = (ExtensionObject)Utils.Clone(this.m_subscribedDataSet); + clone.m_maxNetworkMessageSize = (uint)Utils.Clone(this.m_maxNetworkMessageSize); + clone.m_groupProperties = (KeyValuePairCollection)Utils.Clone(this.m_groupProperties); return clone; } @@ -13720,56 +13984,46 @@ public virtual object Clone() #region Private Fields private string m_name; private bool m_enabled; - private Variant m_publisherId; - private ushort m_writerGroupId; - private ushort m_dataSetWriterId; - private DataSetMetaDataType m_dataSetMetaData; - private uint m_dataSetFieldContentMask; - private double m_messageReceiveTimeout; - private uint m_keyFrameCount; - private string m_headerLayoutUri; private MessageSecurityMode m_securityMode; private string m_securityGroupId; private EndpointDescriptionCollection m_securityKeyServices; - private KeyValuePairCollection m_dataSetReaderProperties; - private ExtensionObject m_transportSettings; - private ExtensionObject m_messageSettings; - private ExtensionObject m_subscribedDataSet; + private uint m_maxNetworkMessageSize; + private KeyValuePairCollection m_groupProperties; #endregion } - #region DataSetReaderDataTypeCollection Class + #region PubSubGroupDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetReaderDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderDataType")] - public partial class DataSetReaderDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPubSubGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubGroupDataType")] + public partial class PubSubGroupDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetReaderDataTypeCollection() {} + public PubSubGroupDataTypeCollection() {} /// - public DataSetReaderDataTypeCollection(int capacity) : base(capacity) {} + public PubSubGroupDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetReaderDataTypeCollection(IEnumerable collection) : base(collection) {} + public PubSubGroupDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetReaderDataTypeCollection(DataSetReaderDataType[] values) + public static implicit operator PubSubGroupDataTypeCollection(PubSubGroupDataType[] values) { if (values != null) { - return new DataSetReaderDataTypeCollection(values); + return new PubSubGroupDataTypeCollection(values); } - return new DataSetReaderDataTypeCollection(); + return new PubSubGroupDataTypeCollection(); } /// - public static explicit operator DataSetReaderDataType[](DataSetReaderDataTypeCollection values) + public static explicit operator PubSubGroupDataType[](PubSubGroupDataTypeCollection values) { if (values != null) { @@ -13784,18 +14038,18 @@ public static explicit operator DataSetReaderDataType[](DataSetReaderDataTypeCol /// public object Clone() { - return (DataSetReaderDataTypeCollection)this.MemberwiseClone(); + return (PubSubGroupDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetReaderDataTypeCollection clone = new DataSetReaderDataTypeCollection(this.Count); + PubSubGroupDataTypeCollection clone = new PubSubGroupDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetReaderDataType)Utils.Clone(this[ii])); + clone.Add((PubSubGroupDataType)Utils.Clone(this[ii])); } return clone; @@ -13805,137 +14059,290 @@ public object Clone() #endif #endregion - #region DataSetReaderTransportDataType Class - #if (!OPCUA_EXCLUDE_DataSetReaderTransportDataType) + #region WriterGroupDataType Class + #if (!OPCUA_EXCLUDE_WriterGroupDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetReaderTransportDataType : IEncodeable, IJsonEncodeable + public partial class WriterGroupDataType : Opc.Ua.PubSubGroupDataType { #region Constructors /// - public DataSetReaderTransportDataType() + public WriterGroupDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { + m_writerGroupId = (ushort)0; + m_publishingInterval = (double)0; + m_keepAliveTime = (double)0; + m_priority = (byte)0; + m_localeIds = new StringCollection(); + m_headerLayoutUri = null; + m_transportSettings = null; + m_messageSettings = null; + m_dataSetWriters = new DataSetWriterDataTypeCollection(); } #endregion #region Public Properties + /// + [DataMember(Name = "WriterGroupId", IsRequired = false, Order = 1)] + public ushort WriterGroupId + { + get { return m_writerGroupId; } + set { m_writerGroupId = value; } + } + + /// + [DataMember(Name = "PublishingInterval", IsRequired = false, Order = 2)] + public double PublishingInterval + { + get { return m_publishingInterval; } + set { m_publishingInterval = value; } + } + + /// + [DataMember(Name = "KeepAliveTime", IsRequired = false, Order = 3)] + public double KeepAliveTime + { + get { return m_keepAliveTime; } + set { m_keepAliveTime = value; } + } + + /// + [DataMember(Name = "Priority", IsRequired = false, Order = 4)] + public byte Priority + { + get { return m_priority; } + set { m_priority = value; } + } + + /// + [DataMember(Name = "LocaleIds", IsRequired = false, Order = 5)] + public StringCollection LocaleIds + { + get + { + return m_localeIds; + } + + set + { + m_localeIds = value; + + if (value == null) + { + m_localeIds = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "HeaderLayoutUri", IsRequired = false, Order = 6)] + public string HeaderLayoutUri + { + get { return m_headerLayoutUri; } + set { m_headerLayoutUri = value; } + } + + /// + [DataMember(Name = "TransportSettings", IsRequired = false, Order = 7)] + public ExtensionObject TransportSettings + { + get { return m_transportSettings; } + set { m_transportSettings = value; } + } + + /// + [DataMember(Name = "MessageSettings", IsRequired = false, Order = 8)] + public ExtensionObject MessageSettings + { + get { return m_messageSettings; } + set { m_messageSettings = value; } + } + + /// + [DataMember(Name = "DataSetWriters", IsRequired = false, Order = 9)] + public DataSetWriterDataTypeCollection DataSetWriters + { + get + { + return m_dataSetWriters; + } + + set + { + m_dataSetWriters = value; + + if (value == null) + { + m_dataSetWriters = new DataSetWriterDataTypeCollection(); + } + } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.WriterGroupDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteUInt16("WriterGroupId", WriterGroupId); + encoder.WriteDouble("PublishingInterval", PublishingInterval); + encoder.WriteDouble("KeepAliveTime", KeepAliveTime); + encoder.WriteByte("Priority", Priority); + encoder.WriteStringArray("LocaleIds", LocaleIds); + encoder.WriteString("HeaderLayoutUri", HeaderLayoutUri); + encoder.WriteExtensionObject("TransportSettings", TransportSettings); + encoder.WriteExtensionObject("MessageSettings", MessageSettings); + encoder.WriteEncodeableArray("DataSetWriters", DataSetWriters.ToArray(), typeof(DataSetWriterDataType)); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + WriterGroupId = decoder.ReadUInt16("WriterGroupId"); + PublishingInterval = decoder.ReadDouble("PublishingInterval"); + KeepAliveTime = decoder.ReadDouble("KeepAliveTime"); + Priority = decoder.ReadByte("Priority"); + LocaleIds = decoder.ReadStringArray("LocaleIds"); + HeaderLayoutUri = decoder.ReadString("HeaderLayoutUri"); + TransportSettings = decoder.ReadExtensionObject("TransportSettings"); + MessageSettings = decoder.ReadExtensionObject("MessageSettings"); + DataSetWriters = (DataSetWriterDataTypeCollection)decoder.ReadEncodeableArray("DataSetWriters", typeof(DataSetWriterDataType)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - DataSetReaderTransportDataType value = encodeable as DataSetReaderTransportDataType; + WriterGroupDataType value = encodeable as WriterGroupDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_writerGroupId, value.m_writerGroupId)) return false; + if (!Utils.IsEqual(m_publishingInterval, value.m_publishingInterval)) return false; + if (!Utils.IsEqual(m_keepAliveTime, value.m_keepAliveTime)) return false; + if (!Utils.IsEqual(m_priority, value.m_priority)) return false; + if (!Utils.IsEqual(m_localeIds, value.m_localeIds)) return false; + if (!Utils.IsEqual(m_headerLayoutUri, value.m_headerLayoutUri)) return false; + if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; + if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; + if (!Utils.IsEqual(m_dataSetWriters, value.m_dataSetWriters)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (DataSetReaderTransportDataType)this.MemberwiseClone(); + return (WriterGroupDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetReaderTransportDataType clone = (DataSetReaderTransportDataType)base.MemberwiseClone(); + WriterGroupDataType clone = (WriterGroupDataType)base.MemberwiseClone(); + clone.m_writerGroupId = (ushort)Utils.Clone(this.m_writerGroupId); + clone.m_publishingInterval = (double)Utils.Clone(this.m_publishingInterval); + clone.m_keepAliveTime = (double)Utils.Clone(this.m_keepAliveTime); + clone.m_priority = (byte)Utils.Clone(this.m_priority); + clone.m_localeIds = (StringCollection)Utils.Clone(this.m_localeIds); + clone.m_headerLayoutUri = (string)Utils.Clone(this.m_headerLayoutUri); + clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); + clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); + clone.m_dataSetWriters = (DataSetWriterDataTypeCollection)Utils.Clone(this.m_dataSetWriters); return clone; } #endregion #region Private Fields + private ushort m_writerGroupId; + private double m_publishingInterval; + private double m_keepAliveTime; + private byte m_priority; + private StringCollection m_localeIds; + private string m_headerLayoutUri; + private ExtensionObject m_transportSettings; + private ExtensionObject m_messageSettings; + private DataSetWriterDataTypeCollection m_dataSetWriters; #endregion } - #region DataSetReaderTransportDataTypeCollection Class + #region WriterGroupDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderTransportDataType")] - public partial class DataSetReaderTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfWriterGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupDataType")] + public partial class WriterGroupDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetReaderTransportDataTypeCollection() {} + public WriterGroupDataTypeCollection() {} /// - public DataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} + public WriterGroupDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public WriterGroupDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetReaderTransportDataTypeCollection(DataSetReaderTransportDataType[] values) + public static implicit operator WriterGroupDataTypeCollection(WriterGroupDataType[] values) { if (values != null) { - return new DataSetReaderTransportDataTypeCollection(values); + return new WriterGroupDataTypeCollection(values); } - return new DataSetReaderTransportDataTypeCollection(); + return new WriterGroupDataTypeCollection(); } /// - public static explicit operator DataSetReaderTransportDataType[](DataSetReaderTransportDataTypeCollection values) + public static explicit operator WriterGroupDataType[](WriterGroupDataTypeCollection values) { if (values != null) { @@ -13950,18 +14357,18 @@ public static explicit operator DataSetReaderTransportDataType[](DataSetReaderTr /// public object Clone() { - return (DataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); + return (WriterGroupDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetReaderTransportDataTypeCollection clone = new DataSetReaderTransportDataTypeCollection(this.Count); + WriterGroupDataTypeCollection clone = new WriterGroupDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetReaderTransportDataType)Utils.Clone(this[ii])); + clone.Add((WriterGroupDataType)Utils.Clone(this[ii])); } return clone; @@ -13971,17 +14378,17 @@ public object Clone() #endif #endregion - #region DataSetReaderMessageDataType Class - #if (!OPCUA_EXCLUDE_DataSetReaderMessageDataType) + #region WriterGroupTransportDataType Class + #if (!OPCUA_EXCLUDE_WriterGroupTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DataSetReaderMessageDataType : IEncodeable, IJsonEncodeable + public partial class WriterGroupTransportDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DataSetReaderMessageDataType() + public WriterGroupTransportDataType() { Initialize(); } @@ -14002,16 +14409,16 @@ private void Initialize() #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.WriterGroupTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupTransportDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -14039,7 +14446,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - DataSetReaderMessageDataType value = encodeable as DataSetReaderMessageDataType; + WriterGroupTransportDataType value = encodeable as WriterGroupTransportDataType; if (value == null) { @@ -14053,13 +14460,13 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (DataSetReaderMessageDataType)this.MemberwiseClone(); + return (WriterGroupTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DataSetReaderMessageDataType clone = (DataSetReaderMessageDataType)base.MemberwiseClone(); + WriterGroupTransportDataType clone = (WriterGroupTransportDataType)base.MemberwiseClone(); return clone; @@ -14070,38 +14477,38 @@ public virtual object Clone() #endregion } - #region DataSetReaderMessageDataTypeCollection Class + #region WriterGroupTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderMessageDataType")] - public partial class DataSetReaderMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupTransportDataType")] + public partial class WriterGroupTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public DataSetReaderMessageDataTypeCollection() {} + public WriterGroupTransportDataTypeCollection() {} /// - public DataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} + public WriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public DataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public WriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DataSetReaderMessageDataTypeCollection(DataSetReaderMessageDataType[] values) + public static implicit operator WriterGroupTransportDataTypeCollection(WriterGroupTransportDataType[] values) { if (values != null) { - return new DataSetReaderMessageDataTypeCollection(values); + return new WriterGroupTransportDataTypeCollection(values); } - return new DataSetReaderMessageDataTypeCollection(); + return new WriterGroupTransportDataTypeCollection(); } /// - public static explicit operator DataSetReaderMessageDataType[](DataSetReaderMessageDataTypeCollection values) + public static explicit operator WriterGroupTransportDataType[](WriterGroupTransportDataTypeCollection values) { if (values != null) { @@ -14116,18 +14523,18 @@ public static explicit operator DataSetReaderMessageDataType[](DataSetReaderMess /// public object Clone() { - return (DataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); + return (WriterGroupTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DataSetReaderMessageDataTypeCollection clone = new DataSetReaderMessageDataTypeCollection(this.Count); + WriterGroupTransportDataTypeCollection clone = new WriterGroupTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DataSetReaderMessageDataType)Utils.Clone(this[ii])); + clone.Add((WriterGroupTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -14137,17 +14544,17 @@ public object Clone() #endif #endregion - #region SubscribedDataSetDataType Class - #if (!OPCUA_EXCLUDE_SubscribedDataSetDataType) + #region WriterGroupMessageDataType Class + #if (!OPCUA_EXCLUDE_WriterGroupMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class SubscribedDataSetDataType : IEncodeable, IJsonEncodeable + public partial class WriterGroupMessageDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public SubscribedDataSetDataType() + public WriterGroupMessageDataType() { Initialize(); } @@ -14168,16 +14575,16 @@ private void Initialize() #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.SubscribedDataSetDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.WriterGroupMessageDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.WriterGroupMessageDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -14205,7 +14612,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - SubscribedDataSetDataType value = encodeable as SubscribedDataSetDataType; + WriterGroupMessageDataType value = encodeable as WriterGroupMessageDataType; if (value == null) { @@ -14219,13 +14626,13 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (SubscribedDataSetDataType)this.MemberwiseClone(); + return (WriterGroupMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - SubscribedDataSetDataType clone = (SubscribedDataSetDataType)base.MemberwiseClone(); + WriterGroupMessageDataType clone = (WriterGroupMessageDataType)base.MemberwiseClone(); return clone; @@ -14236,38 +14643,38 @@ public virtual object Clone() #endregion } - #region SubscribedDataSetDataTypeCollection Class + #region WriterGroupMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfSubscribedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SubscribedDataSetDataType")] - public partial class SubscribedDataSetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "WriterGroupMessageDataType")] + public partial class WriterGroupMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public SubscribedDataSetDataTypeCollection() {} + public WriterGroupMessageDataTypeCollection() {} /// - public SubscribedDataSetDataTypeCollection(int capacity) : base(capacity) {} + public WriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public SubscribedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} + public WriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator SubscribedDataSetDataTypeCollection(SubscribedDataSetDataType[] values) + public static implicit operator WriterGroupMessageDataTypeCollection(WriterGroupMessageDataType[] values) { if (values != null) { - return new SubscribedDataSetDataTypeCollection(values); + return new WriterGroupMessageDataTypeCollection(values); } - return new SubscribedDataSetDataTypeCollection(); + return new WriterGroupMessageDataTypeCollection(); } /// - public static explicit operator SubscribedDataSetDataType[](SubscribedDataSetDataTypeCollection values) + public static explicit operator WriterGroupMessageDataType[](WriterGroupMessageDataTypeCollection values) { if (values != null) { @@ -14282,18 +14689,18 @@ public static explicit operator SubscribedDataSetDataType[](SubscribedDataSetDat /// public object Clone() { - return (SubscribedDataSetDataTypeCollection)this.MemberwiseClone(); + return (WriterGroupMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - SubscribedDataSetDataTypeCollection clone = new SubscribedDataSetDataTypeCollection(this.Count); + WriterGroupMessageDataTypeCollection clone = new WriterGroupMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((SubscribedDataSetDataType)Utils.Clone(this[ii])); + clone.Add((WriterGroupMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -14303,166 +14710,298 @@ public object Clone() #endif #endregion - #region TargetVariablesDataType Class - #if (!OPCUA_EXCLUDE_TargetVariablesDataType) + #region PubSubConnectionDataType Class + #if (!OPCUA_EXCLUDE_PubSubConnectionDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class TargetVariablesDataType : Opc.Ua.SubscribedDataSetDataType + public partial class PubSubConnectionDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public TargetVariablesDataType() + public PubSubConnectionDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_targetVariables = new FieldTargetDataTypeCollection(); + m_name = null; + m_enabled = true; + m_publisherId = Variant.Null; + m_transportProfileUri = null; + m_address = null; + m_connectionProperties = new KeyValuePairCollection(); + m_transportSettings = null; + m_writerGroups = new WriterGroupDataTypeCollection(); + m_readerGroups = new ReaderGroupDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "TargetVariables", IsRequired = false, Order = 1)] - public FieldTargetDataTypeCollection TargetVariables + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name { - get - { - return m_targetVariables; - } - - set - { - m_targetVariables = value; - - if (value == null) - { - m_targetVariables = new FieldTargetDataTypeCollection(); - } - } + get { return m_name; } + set { m_name = value; } } - #endregion - #region IEncodeable Members - /// - public override ExpandedNodeId TypeId => DataTypeIds.TargetVariablesDataType; + /// + [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] + public bool Enabled + { + get { return m_enabled; } + set { m_enabled = value; } + } - /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultBinary; + /// + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public Variant PublisherId + { + get { return m_publisherId; } + set { m_publisherId = value; } + } - /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultXml; - + /// + [DataMember(Name = "TransportProfileUri", IsRequired = false, Order = 4)] + public string TransportProfileUri + { + get { return m_transportProfileUri; } + set { m_transportProfileUri = value; } + } + + /// + [DataMember(Name = "Address", IsRequired = false, Order = 5)] + public ExtensionObject Address + { + get { return m_address; } + set { m_address = value; } + } + + /// + [DataMember(Name = "ConnectionProperties", IsRequired = false, Order = 6)] + public KeyValuePairCollection ConnectionProperties + { + get + { + return m_connectionProperties; + } + + set + { + m_connectionProperties = value; + + if (value == null) + { + m_connectionProperties = new KeyValuePairCollection(); + } + } + } + + /// + [DataMember(Name = "TransportSettings", IsRequired = false, Order = 7)] + public ExtensionObject TransportSettings + { + get { return m_transportSettings; } + set { m_transportSettings = value; } + } + + /// + [DataMember(Name = "WriterGroups", IsRequired = false, Order = 8)] + public WriterGroupDataTypeCollection WriterGroups + { + get + { + return m_writerGroups; + } + + set + { + m_writerGroups = value; + + if (value == null) + { + m_writerGroups = new WriterGroupDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "ReaderGroups", IsRequired = false, Order = 9)] + public ReaderGroupDataTypeCollection ReaderGroups + { + get + { + return m_readerGroups; + } + + set + { + m_readerGroups = value; + + if (value == null) + { + m_readerGroups = new ReaderGroupDataTypeCollection(); + } + } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConnectionDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConnectionDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeableArray("TargetVariables", TargetVariables.ToArray(), typeof(FieldTargetDataType)); + encoder.WriteString("Name", Name); + encoder.WriteBoolean("Enabled", Enabled); + encoder.WriteVariant("PublisherId", PublisherId); + encoder.WriteString("TransportProfileUri", TransportProfileUri); + encoder.WriteExtensionObject("Address", Address); + encoder.WriteEncodeableArray("ConnectionProperties", ConnectionProperties.ToArray(), typeof(KeyValuePair)); + encoder.WriteExtensionObject("TransportSettings", TransportSettings); + encoder.WriteEncodeableArray("WriterGroups", WriterGroups.ToArray(), typeof(WriterGroupDataType)); + encoder.WriteEncodeableArray("ReaderGroups", ReaderGroups.ToArray(), typeof(ReaderGroupDataType)); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - TargetVariables = (FieldTargetDataTypeCollection)decoder.ReadEncodeableArray("TargetVariables", typeof(FieldTargetDataType)); + Name = decoder.ReadString("Name"); + Enabled = decoder.ReadBoolean("Enabled"); + PublisherId = decoder.ReadVariant("PublisherId"); + TransportProfileUri = decoder.ReadString("TransportProfileUri"); + Address = decoder.ReadExtensionObject("Address"); + ConnectionProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("ConnectionProperties", typeof(KeyValuePair)); + TransportSettings = decoder.ReadExtensionObject("TransportSettings"); + WriterGroups = (WriterGroupDataTypeCollection)decoder.ReadEncodeableArray("WriterGroups", typeof(WriterGroupDataType)); + ReaderGroups = (ReaderGroupDataTypeCollection)decoder.ReadEncodeableArray("ReaderGroups", typeof(ReaderGroupDataType)); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - TargetVariablesDataType value = encodeable as TargetVariablesDataType; + PubSubConnectionDataType value = encodeable as PubSubConnectionDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_targetVariables, value.m_targetVariables)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_transportProfileUri, value.m_transportProfileUri)) return false; + if (!Utils.IsEqual(m_address, value.m_address)) return false; + if (!Utils.IsEqual(m_connectionProperties, value.m_connectionProperties)) return false; + if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; + if (!Utils.IsEqual(m_writerGroups, value.m_writerGroups)) return false; + if (!Utils.IsEqual(m_readerGroups, value.m_readerGroups)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (TargetVariablesDataType)this.MemberwiseClone(); + return (PubSubConnectionDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - TargetVariablesDataType clone = (TargetVariablesDataType)base.MemberwiseClone(); + PubSubConnectionDataType clone = (PubSubConnectionDataType)base.MemberwiseClone(); - clone.m_targetVariables = (FieldTargetDataTypeCollection)Utils.Clone(this.m_targetVariables); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_enabled = (bool)Utils.Clone(this.m_enabled); + clone.m_publisherId = (Variant)Utils.Clone(this.m_publisherId); + clone.m_transportProfileUri = (string)Utils.Clone(this.m_transportProfileUri); + clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); + clone.m_connectionProperties = (KeyValuePairCollection)Utils.Clone(this.m_connectionProperties); + clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); + clone.m_writerGroups = (WriterGroupDataTypeCollection)Utils.Clone(this.m_writerGroups); + clone.m_readerGroups = (ReaderGroupDataTypeCollection)Utils.Clone(this.m_readerGroups); return clone; } #endregion #region Private Fields - private FieldTargetDataTypeCollection m_targetVariables; + private string m_name; + private bool m_enabled; + private Variant m_publisherId; + private string m_transportProfileUri; + private ExtensionObject m_address; + private KeyValuePairCollection m_connectionProperties; + private ExtensionObject m_transportSettings; + private WriterGroupDataTypeCollection m_writerGroups; + private ReaderGroupDataTypeCollection m_readerGroups; #endregion } - #region TargetVariablesDataTypeCollection Class + #region PubSubConnectionDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTargetVariablesDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TargetVariablesDataType")] - public partial class TargetVariablesDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPubSubConnectionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConnectionDataType")] + public partial class PubSubConnectionDataTypeCollection : List, ICloneable { #region Constructors /// - public TargetVariablesDataTypeCollection() {} + public PubSubConnectionDataTypeCollection() {} /// - public TargetVariablesDataTypeCollection(int capacity) : base(capacity) {} + public PubSubConnectionDataTypeCollection(int capacity) : base(capacity) {} /// - public TargetVariablesDataTypeCollection(IEnumerable collection) : base(collection) {} + public PubSubConnectionDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TargetVariablesDataTypeCollection(TargetVariablesDataType[] values) + public static implicit operator PubSubConnectionDataTypeCollection(PubSubConnectionDataType[] values) { if (values != null) { - return new TargetVariablesDataTypeCollection(values); + return new PubSubConnectionDataTypeCollection(values); } - return new TargetVariablesDataTypeCollection(); + return new PubSubConnectionDataTypeCollection(); } /// - public static explicit operator TargetVariablesDataType[](TargetVariablesDataTypeCollection values) + public static explicit operator PubSubConnectionDataType[](PubSubConnectionDataTypeCollection values) { if (values != null) { @@ -14477,18 +15016,18 @@ public static explicit operator TargetVariablesDataType[](TargetVariablesDataTyp /// public object Clone() { - return (TargetVariablesDataTypeCollection)this.MemberwiseClone(); + return (PubSubConnectionDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TargetVariablesDataTypeCollection clone = new TargetVariablesDataTypeCollection(this.Count); + PubSubConnectionDataTypeCollection clone = new PubSubConnectionDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TargetVariablesDataType)Utils.Clone(this[ii])); + clone.Add((PubSubConnectionDataType)Utils.Clone(this[ii])); } return clone; @@ -14498,17 +15037,17 @@ public object Clone() #endif #endregion - #region FieldTargetDataType Class - #if (!OPCUA_EXCLUDE_FieldTargetDataType) + #region ConnectionTransportDataType Class + #if (!OPCUA_EXCLUDE_ConnectionTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class FieldTargetDataType : IEncodeable, IJsonEncodeable + public partial class ConnectionTransportDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public FieldTargetDataType() + public ConnectionTransportDataType() { Initialize(); } @@ -14521,99 +15060,30 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_dataSetFieldId = Uuid.Empty; - m_receiverIndexRange = null; - m_targetNodeId = null; - m_attributeId = (uint)0; - m_writeIndexRange = null; - m_overrideValueHandling = OverrideValueHandling.Disabled; - m_overrideValue = Variant.Null; } #endregion #region Public Properties - /// - [DataMember(Name = "DataSetFieldId", IsRequired = false, Order = 1)] - public Uuid DataSetFieldId - { - get { return m_dataSetFieldId; } - set { m_dataSetFieldId = value; } - } - - /// - [DataMember(Name = "ReceiverIndexRange", IsRequired = false, Order = 2)] - public string ReceiverIndexRange - { - get { return m_receiverIndexRange; } - set { m_receiverIndexRange = value; } - } - - /// - [DataMember(Name = "TargetNodeId", IsRequired = false, Order = 3)] - public NodeId TargetNodeId - { - get { return m_targetNodeId; } - set { m_targetNodeId = value; } - } - - /// - [DataMember(Name = "AttributeId", IsRequired = false, Order = 4)] - public uint AttributeId - { - get { return m_attributeId; } - set { m_attributeId = value; } - } - - /// - [DataMember(Name = "WriteIndexRange", IsRequired = false, Order = 5)] - public string WriteIndexRange - { - get { return m_writeIndexRange; } - set { m_writeIndexRange = value; } - } - - /// - [DataMember(Name = "OverrideValueHandling", IsRequired = false, Order = 6)] - public OverrideValueHandling OverrideValueHandling - { - get { return m_overrideValueHandling; } - set { m_overrideValueHandling = value; } - } - - /// - [DataMember(Name = "OverrideValue", IsRequired = false, Order = 7)] - public Variant OverrideValue - { - get { return m_overrideValue; } - set { m_overrideValue = value; } - } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.FieldTargetDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ConnectionTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ConnectionTransportDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteGuid("DataSetFieldId", DataSetFieldId); - encoder.WriteString("ReceiverIndexRange", ReceiverIndexRange); - encoder.WriteNodeId("TargetNodeId", TargetNodeId); - encoder.WriteUInt32("AttributeId", AttributeId); - encoder.WriteString("WriteIndexRange", WriteIndexRange); - encoder.WriteEnumerated("OverrideValueHandling", OverrideValueHandling); - encoder.WriteVariant("OverrideValue", OverrideValue); encoder.PopNamespace(); } @@ -14623,13 +15093,6 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetFieldId = decoder.ReadGuid("DataSetFieldId"); - ReceiverIndexRange = decoder.ReadString("ReceiverIndexRange"); - TargetNodeId = decoder.ReadNodeId("TargetNodeId"); - AttributeId = decoder.ReadUInt32("AttributeId"); - WriteIndexRange = decoder.ReadString("WriteIndexRange"); - OverrideValueHandling = (OverrideValueHandling)decoder.ReadEnumerated("OverrideValueHandling", typeof(OverrideValueHandling)); - OverrideValue = decoder.ReadVariant("OverrideValue"); decoder.PopNamespace(); } @@ -14642,20 +15105,13 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - FieldTargetDataType value = encodeable as FieldTargetDataType; + ConnectionTransportDataType value = encodeable as ConnectionTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetFieldId, value.m_dataSetFieldId)) return false; - if (!Utils.IsEqual(m_receiverIndexRange, value.m_receiverIndexRange)) return false; - if (!Utils.IsEqual(m_targetNodeId, value.m_targetNodeId)) return false; - if (!Utils.IsEqual(m_attributeId, value.m_attributeId)) return false; - if (!Utils.IsEqual(m_writeIndexRange, value.m_writeIndexRange)) return false; - if (!Utils.IsEqual(m_overrideValueHandling, value.m_overrideValueHandling)) return false; - if (!Utils.IsEqual(m_overrideValue, value.m_overrideValue)) return false; return true; } @@ -14663,69 +15119,55 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (FieldTargetDataType)this.MemberwiseClone(); + return (ConnectionTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - FieldTargetDataType clone = (FieldTargetDataType)base.MemberwiseClone(); + ConnectionTransportDataType clone = (ConnectionTransportDataType)base.MemberwiseClone(); - clone.m_dataSetFieldId = (Uuid)Utils.Clone(this.m_dataSetFieldId); - clone.m_receiverIndexRange = (string)Utils.Clone(this.m_receiverIndexRange); - clone.m_targetNodeId = (NodeId)Utils.Clone(this.m_targetNodeId); - clone.m_attributeId = (uint)Utils.Clone(this.m_attributeId); - clone.m_writeIndexRange = (string)Utils.Clone(this.m_writeIndexRange); - clone.m_overrideValueHandling = (OverrideValueHandling)Utils.Clone(this.m_overrideValueHandling); - clone.m_overrideValue = (Variant)Utils.Clone(this.m_overrideValue); return clone; } #endregion #region Private Fields - private Uuid m_dataSetFieldId; - private string m_receiverIndexRange; - private NodeId m_targetNodeId; - private uint m_attributeId; - private string m_writeIndexRange; - private OverrideValueHandling m_overrideValueHandling; - private Variant m_overrideValue; #endregion } - #region FieldTargetDataTypeCollection Class + #region ConnectionTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfFieldTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "FieldTargetDataType")] - public partial class FieldTargetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ConnectionTransportDataType")] + public partial class ConnectionTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public FieldTargetDataTypeCollection() {} + public ConnectionTransportDataTypeCollection() {} /// - public FieldTargetDataTypeCollection(int capacity) : base(capacity) {} + public ConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public FieldTargetDataTypeCollection(IEnumerable collection) : base(collection) {} + public ConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator FieldTargetDataTypeCollection(FieldTargetDataType[] values) + public static implicit operator ConnectionTransportDataTypeCollection(ConnectionTransportDataType[] values) { if (values != null) { - return new FieldTargetDataTypeCollection(values); + return new ConnectionTransportDataTypeCollection(values); } - return new FieldTargetDataTypeCollection(); + return new ConnectionTransportDataTypeCollection(); } /// - public static explicit operator FieldTargetDataType[](FieldTargetDataTypeCollection values) + public static explicit operator ConnectionTransportDataType[](ConnectionTransportDataTypeCollection values) { if (values != null) { @@ -14740,18 +15182,18 @@ public static explicit operator FieldTargetDataType[](FieldTargetDataTypeCollect /// public object Clone() { - return (FieldTargetDataTypeCollection)this.MemberwiseClone(); + return (ConnectionTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - FieldTargetDataTypeCollection clone = new FieldTargetDataTypeCollection(this.Count); + ConnectionTransportDataTypeCollection clone = new ConnectionTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((FieldTargetDataType)Utils.Clone(this[ii])); + clone.Add((ConnectionTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -14761,59 +15203,150 @@ public object Clone() #endif #endregion - #region OverrideValueHandling Enumeration - #if (!OPCUA_EXCLUDE_OverrideValueHandling) + #region NetworkAddressDataType Class + #if (!OPCUA_EXCLUDE_NetworkAddressDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum OverrideValueHandling + public partial class NetworkAddressDataType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "Disabled_0")] - Disabled = 0, + public NetworkAddressDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_networkInterface = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "LastUsableValue_1")] - LastUsableValue = 1, + [DataMember(Name = "NetworkInterface", IsRequired = false, Order = 1)] + public string NetworkInterface + { + get { return m_networkInterface; } + set { m_networkInterface = value; } + } + #endregion - /// - [EnumMember(Value = "OverrideValue_2")] - OverrideValue = 2, + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.NetworkAddressDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.NetworkAddressDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("NetworkInterface", NetworkInterface); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + NetworkInterface = decoder.ReadString("NetworkInterface"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + NetworkAddressDataType value = encodeable as NetworkAddressDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_networkInterface, value.m_networkInterface)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (NetworkAddressDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + NetworkAddressDataType clone = (NetworkAddressDataType)base.MemberwiseClone(); + + clone.m_networkInterface = (string)Utils.Clone(this.m_networkInterface); + + return clone; + } + #endregion + + #region Private Fields + private string m_networkInterface; + #endregion } - #region OverrideValueHandlingCollection Class + #region NetworkAddressDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfOverrideValueHandling", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "OverrideValueHandling")] - public partial class OverrideValueHandlingCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfNetworkAddressDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NetworkAddressDataType")] + public partial class NetworkAddressDataTypeCollection : List, ICloneable { #region Constructors /// - public OverrideValueHandlingCollection() {} + public NetworkAddressDataTypeCollection() {} /// - public OverrideValueHandlingCollection(int capacity) : base(capacity) {} + public NetworkAddressDataTypeCollection(int capacity) : base(capacity) {} /// - public OverrideValueHandlingCollection(IEnumerable collection) : base(collection) {} + public NetworkAddressDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator OverrideValueHandlingCollection(OverrideValueHandling[] values) + public static implicit operator NetworkAddressDataTypeCollection(NetworkAddressDataType[] values) { if (values != null) { - return new OverrideValueHandlingCollection(values); + return new NetworkAddressDataTypeCollection(values); } - return new OverrideValueHandlingCollection(); + return new NetworkAddressDataTypeCollection(); } /// - public static explicit operator OverrideValueHandling[](OverrideValueHandlingCollection values) + public static explicit operator NetworkAddressDataType[](NetworkAddressDataTypeCollection values) { if (values != null) { @@ -14828,18 +15361,18 @@ public static explicit operator OverrideValueHandling[](OverrideValueHandlingCol /// public object Clone() { - return (OverrideValueHandlingCollection)this.MemberwiseClone(); + return (NetworkAddressDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - OverrideValueHandlingCollection clone = new OverrideValueHandlingCollection(this.Count); + NetworkAddressDataTypeCollection clone = new NetworkAddressDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((OverrideValueHandling)Utils.Clone(this[ii])); + clone.Add((NetworkAddressDataType)Utils.Clone(this[ii])); } return clone; @@ -14849,17 +15382,17 @@ public object Clone() #endif #endregion - #region SubscribedDataSetMirrorDataType Class - #if (!OPCUA_EXCLUDE_SubscribedDataSetMirrorDataType) + #region NetworkAddressUrlDataType Class + #if (!OPCUA_EXCLUDE_NetworkAddressUrlDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class SubscribedDataSetMirrorDataType : Opc.Ua.SubscribedDataSetDataType + public partial class NetworkAddressUrlDataType : Opc.Ua.NetworkAddressDataType { #region Constructors /// - public SubscribedDataSetMirrorDataType() + public NetworkAddressUrlDataType() { Initialize(); } @@ -14872,53 +15405,32 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_parentNodeName = null; - m_rolePermissions = new RolePermissionTypeCollection(); + m_url = null; } #endregion #region Public Properties /// - [DataMember(Name = "ParentNodeName", IsRequired = false, Order = 1)] - public string ParentNodeName + [DataMember(Name = "Url", IsRequired = false, Order = 1)] + public string Url { - get { return m_parentNodeName; } - set { m_parentNodeName = value; } + get { return m_url; } + set { m_url = value; } } + #endregion - /// - [DataMember(Name = "RolePermissions", IsRequired = false, Order = 2)] - public RolePermissionTypeCollection RolePermissions - { - get - { - return m_rolePermissions; - } - - set - { - m_rolePermissions = value; - - if (value == null) - { - m_rolePermissions = new RolePermissionTypeCollection(); - } - } - } - #endregion - - #region IEncodeable Members - /// - public override ExpandedNodeId TypeId => DataTypeIds.SubscribedDataSetMirrorDataType; + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.NetworkAddressUrlDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -14927,8 +15439,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("ParentNodeName", ParentNodeName); - encoder.WriteEncodeableArray("RolePermissions", RolePermissions.ToArray(), typeof(RolePermissionType)); + encoder.WriteString("Url", Url); encoder.PopNamespace(); } @@ -14940,8 +15451,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ParentNodeName = decoder.ReadString("ParentNodeName"); - RolePermissions = (RolePermissionTypeCollection)decoder.ReadEncodeableArray("RolePermissions", typeof(RolePermissionType)); + Url = decoder.ReadString("Url"); decoder.PopNamespace(); } @@ -14954,15 +15464,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - SubscribedDataSetMirrorDataType value = encodeable as SubscribedDataSetMirrorDataType; + NetworkAddressUrlDataType value = encodeable as NetworkAddressUrlDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_parentNodeName, value.m_parentNodeName)) return false; - if (!Utils.IsEqual(m_rolePermissions, value.m_rolePermissions)) return false; + if (!Utils.IsEqual(m_url, value.m_url)) return false; return base.IsEqual(encodeable); } @@ -14970,59 +15479,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (SubscribedDataSetMirrorDataType)this.MemberwiseClone(); + return (NetworkAddressUrlDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - SubscribedDataSetMirrorDataType clone = (SubscribedDataSetMirrorDataType)base.MemberwiseClone(); + NetworkAddressUrlDataType clone = (NetworkAddressUrlDataType)base.MemberwiseClone(); - clone.m_parentNodeName = (string)Utils.Clone(this.m_parentNodeName); - clone.m_rolePermissions = (RolePermissionTypeCollection)Utils.Clone(this.m_rolePermissions); + clone.m_url = (string)Utils.Clone(this.m_url); return clone; } #endregion #region Private Fields - private string m_parentNodeName; - private RolePermissionTypeCollection m_rolePermissions; + private string m_url; #endregion } - #region SubscribedDataSetMirrorDataTypeCollection Class + #region NetworkAddressUrlDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfSubscribedDataSetMirrorDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SubscribedDataSetMirrorDataType")] - public partial class SubscribedDataSetMirrorDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfNetworkAddressUrlDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NetworkAddressUrlDataType")] + public partial class NetworkAddressUrlDataTypeCollection : List, ICloneable { #region Constructors /// - public SubscribedDataSetMirrorDataTypeCollection() {} + public NetworkAddressUrlDataTypeCollection() {} /// - public SubscribedDataSetMirrorDataTypeCollection(int capacity) : base(capacity) {} + public NetworkAddressUrlDataTypeCollection(int capacity) : base(capacity) {} /// - public SubscribedDataSetMirrorDataTypeCollection(IEnumerable collection) : base(collection) {} + public NetworkAddressUrlDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator SubscribedDataSetMirrorDataTypeCollection(SubscribedDataSetMirrorDataType[] values) + public static implicit operator NetworkAddressUrlDataTypeCollection(NetworkAddressUrlDataType[] values) { if (values != null) { - return new SubscribedDataSetMirrorDataTypeCollection(values); + return new NetworkAddressUrlDataTypeCollection(values); } - return new SubscribedDataSetMirrorDataTypeCollection(); + return new NetworkAddressUrlDataTypeCollection(); } /// - public static explicit operator SubscribedDataSetMirrorDataType[](SubscribedDataSetMirrorDataTypeCollection values) + public static explicit operator NetworkAddressUrlDataType[](NetworkAddressUrlDataTypeCollection values) { if (values != null) { @@ -15037,18 +15544,18 @@ public static explicit operator SubscribedDataSetMirrorDataType[](SubscribedData /// public object Clone() { - return (SubscribedDataSetMirrorDataTypeCollection)this.MemberwiseClone(); + return (NetworkAddressUrlDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - SubscribedDataSetMirrorDataTypeCollection clone = new SubscribedDataSetMirrorDataTypeCollection(this.Count); + NetworkAddressUrlDataTypeCollection clone = new NetworkAddressUrlDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((SubscribedDataSetMirrorDataType)Utils.Clone(this[ii])); + clone.Add((NetworkAddressUrlDataType)Utils.Clone(this[ii])); } return clone; @@ -15058,202 +15565,194 @@ public object Clone() #endif #endregion - #region PubSubConfigurationDataType Class - #if (!OPCUA_EXCLUDE_PubSubConfigurationDataType) + #region ReaderGroupDataType Class + #if (!OPCUA_EXCLUDE_ReaderGroupDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubConfigurationDataType : IEncodeable, IJsonEncodeable + public partial class ReaderGroupDataType : Opc.Ua.PubSubGroupDataType { #region Constructors /// - public PubSubConfigurationDataType() + public ReaderGroupDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_publishedDataSets = new PublishedDataSetDataTypeCollection(); - m_connections = new PubSubConnectionDataTypeCollection(); - m_enabled = true; + m_transportSettings = null; + m_messageSettings = null; + m_dataSetReaders = new DataSetReaderDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "PublishedDataSets", IsRequired = false, Order = 1)] - public PublishedDataSetDataTypeCollection PublishedDataSets + [DataMember(Name = "TransportSettings", IsRequired = false, Order = 1)] + public ExtensionObject TransportSettings { - get - { - return m_publishedDataSets; - } - - set - { - m_publishedDataSets = value; + get { return m_transportSettings; } + set { m_transportSettings = value; } + } - if (value == null) - { - m_publishedDataSets = new PublishedDataSetDataTypeCollection(); - } - } + /// + [DataMember(Name = "MessageSettings", IsRequired = false, Order = 2)] + public ExtensionObject MessageSettings + { + get { return m_messageSettings; } + set { m_messageSettings = value; } } /// - [DataMember(Name = "Connections", IsRequired = false, Order = 2)] - public PubSubConnectionDataTypeCollection Connections + [DataMember(Name = "DataSetReaders", IsRequired = false, Order = 3)] + public DataSetReaderDataTypeCollection DataSetReaders { get { - return m_connections; + return m_dataSetReaders; } set { - m_connections = value; + m_dataSetReaders = value; if (value == null) { - m_connections = new PubSubConnectionDataTypeCollection(); + m_dataSetReaders = new DataSetReaderDataTypeCollection(); } } } - - /// - [DataMember(Name = "Enabled", IsRequired = false, Order = 3)] - public bool Enabled - { - get { return m_enabled; } - set { m_enabled = value; } - } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationDataType; + public override ExpandedNodeId TypeId => DataTypeIds.ReaderGroupDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeableArray("PublishedDataSets", PublishedDataSets.ToArray(), typeof(PublishedDataSetDataType)); - encoder.WriteEncodeableArray("Connections", Connections.ToArray(), typeof(PubSubConnectionDataType)); - encoder.WriteBoolean("Enabled", Enabled); + encoder.WriteExtensionObject("TransportSettings", TransportSettings); + encoder.WriteExtensionObject("MessageSettings", MessageSettings); + encoder.WriteEncodeableArray("DataSetReaders", DataSetReaders.ToArray(), typeof(DataSetReaderDataType)); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - PublishedDataSets = (PublishedDataSetDataTypeCollection)decoder.ReadEncodeableArray("PublishedDataSets", typeof(PublishedDataSetDataType)); - Connections = (PubSubConnectionDataTypeCollection)decoder.ReadEncodeableArray("Connections", typeof(PubSubConnectionDataType)); - Enabled = decoder.ReadBoolean("Enabled"); + TransportSettings = decoder.ReadExtensionObject("TransportSettings"); + MessageSettings = decoder.ReadExtensionObject("MessageSettings"); + DataSetReaders = (DataSetReaderDataTypeCollection)decoder.ReadEncodeableArray("DataSetReaders", typeof(DataSetReaderDataType)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PubSubConfigurationDataType value = encodeable as PubSubConfigurationDataType; + ReaderGroupDataType value = encodeable as ReaderGroupDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_publishedDataSets, value.m_publishedDataSets)) return false; - if (!Utils.IsEqual(m_connections, value.m_connections)) return false; - if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; + if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; + if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; + if (!Utils.IsEqual(m_dataSetReaders, value.m_dataSetReaders)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PubSubConfigurationDataType)this.MemberwiseClone(); + return (ReaderGroupDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubConfigurationDataType clone = (PubSubConfigurationDataType)base.MemberwiseClone(); + ReaderGroupDataType clone = (ReaderGroupDataType)base.MemberwiseClone(); - clone.m_publishedDataSets = (PublishedDataSetDataTypeCollection)Utils.Clone(this.m_publishedDataSets); - clone.m_connections = (PubSubConnectionDataTypeCollection)Utils.Clone(this.m_connections); - clone.m_enabled = (bool)Utils.Clone(this.m_enabled); + clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); + clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); + clone.m_dataSetReaders = (DataSetReaderDataTypeCollection)Utils.Clone(this.m_dataSetReaders); return clone; } #endregion #region Private Fields - private PublishedDataSetDataTypeCollection m_publishedDataSets; - private PubSubConnectionDataTypeCollection m_connections; - private bool m_enabled; + private ExtensionObject m_transportSettings; + private ExtensionObject m_messageSettings; + private DataSetReaderDataTypeCollection m_dataSetReaders; #endregion } - #region PubSubConfigurationDataTypeCollection Class + #region ReaderGroupDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConfigurationDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationDataType")] - public partial class PubSubConfigurationDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReaderGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupDataType")] + public partial class ReaderGroupDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConfigurationDataTypeCollection() {} + public ReaderGroupDataTypeCollection() {} /// - public PubSubConfigurationDataTypeCollection(int capacity) : base(capacity) {} + public ReaderGroupDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConfigurationDataTypeCollection(IEnumerable collection) : base(collection) {} + public ReaderGroupDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConfigurationDataTypeCollection(PubSubConfigurationDataType[] values) + public static implicit operator ReaderGroupDataTypeCollection(ReaderGroupDataType[] values) { if (values != null) { - return new PubSubConfigurationDataTypeCollection(values); + return new ReaderGroupDataTypeCollection(values); } - return new PubSubConfigurationDataTypeCollection(); + return new ReaderGroupDataTypeCollection(); } /// - public static explicit operator PubSubConfigurationDataType[](PubSubConfigurationDataTypeCollection values) + public static explicit operator ReaderGroupDataType[](ReaderGroupDataTypeCollection values) { if (values != null) { @@ -15268,18 +15767,18 @@ public static explicit operator PubSubConfigurationDataType[](PubSubConfiguratio /// public object Clone() { - return (PubSubConfigurationDataTypeCollection)this.MemberwiseClone(); + return (ReaderGroupDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConfigurationDataTypeCollection clone = new PubSubConfigurationDataTypeCollection(this.Count); + ReaderGroupDataTypeCollection clone = new ReaderGroupDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConfigurationDataType)Utils.Clone(this[ii])); + clone.Add((ReaderGroupDataType)Utils.Clone(this[ii])); } return clone; @@ -15289,154 +15788,137 @@ public object Clone() #endif #endregion - #region StandaloneSubscribedDataSetRefDataType Class - #if (!OPCUA_EXCLUDE_StandaloneSubscribedDataSetRefDataType) + #region ReaderGroupTransportDataType Class + #if (!OPCUA_EXCLUDE_ReaderGroupTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class StandaloneSubscribedDataSetRefDataType : Opc.Ua.SubscribedDataSetDataType + public partial class ReaderGroupTransportDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public StandaloneSubscribedDataSetRefDataType() + public ReaderGroupTransportDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_dataSetName = null; } #endregion #region Public Properties - /// - [DataMember(Name = "DataSetName", IsRequired = false, Order = 1)] - public string DataSetName - { - get { return m_dataSetName; } - set { m_dataSetName = value; } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.StandaloneSubscribedDataSetRefDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ReaderGroupTransportDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("DataSetName", DataSetName); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetName = decoder.ReadString("DataSetName"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - StandaloneSubscribedDataSetRefDataType value = encodeable as StandaloneSubscribedDataSetRefDataType; + ReaderGroupTransportDataType value = encodeable as ReaderGroupTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetName, value.m_dataSetName)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (StandaloneSubscribedDataSetRefDataType)this.MemberwiseClone(); + return (ReaderGroupTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - StandaloneSubscribedDataSetRefDataType clone = (StandaloneSubscribedDataSetRefDataType)base.MemberwiseClone(); + ReaderGroupTransportDataType clone = (ReaderGroupTransportDataType)base.MemberwiseClone(); - clone.m_dataSetName = (string)Utils.Clone(this.m_dataSetName); return clone; } #endregion #region Private Fields - private string m_dataSetName; #endregion } - #region StandaloneSubscribedDataSetRefDataTypeCollection Class + #region ReaderGroupTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfStandaloneSubscribedDataSetRefDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StandaloneSubscribedDataSetRefDataType")] - public partial class StandaloneSubscribedDataSetRefDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReaderGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupTransportDataType")] + public partial class ReaderGroupTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public StandaloneSubscribedDataSetRefDataTypeCollection() {} + public ReaderGroupTransportDataTypeCollection() {} /// - public StandaloneSubscribedDataSetRefDataTypeCollection(int capacity) : base(capacity) {} + public ReaderGroupTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public StandaloneSubscribedDataSetRefDataTypeCollection(IEnumerable collection) : base(collection) {} + public ReaderGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator StandaloneSubscribedDataSetRefDataTypeCollection(StandaloneSubscribedDataSetRefDataType[] values) + public static implicit operator ReaderGroupTransportDataTypeCollection(ReaderGroupTransportDataType[] values) { if (values != null) { - return new StandaloneSubscribedDataSetRefDataTypeCollection(values); + return new ReaderGroupTransportDataTypeCollection(values); } - return new StandaloneSubscribedDataSetRefDataTypeCollection(); + return new ReaderGroupTransportDataTypeCollection(); } /// - public static explicit operator StandaloneSubscribedDataSetRefDataType[](StandaloneSubscribedDataSetRefDataTypeCollection values) + public static explicit operator ReaderGroupTransportDataType[](ReaderGroupTransportDataTypeCollection values) { if (values != null) { @@ -15451,18 +15933,18 @@ public static explicit operator StandaloneSubscribedDataSetRefDataType[](Standal /// public object Clone() { - return (StandaloneSubscribedDataSetRefDataTypeCollection)this.MemberwiseClone(); + return (ReaderGroupTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - StandaloneSubscribedDataSetRefDataTypeCollection clone = new StandaloneSubscribedDataSetRefDataTypeCollection(this.Count); + ReaderGroupTransportDataTypeCollection clone = new ReaderGroupTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((StandaloneSubscribedDataSetRefDataType)Utils.Clone(this[ii])); + clone.Add((ReaderGroupTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -15472,220 +15954,137 @@ public object Clone() #endif #endregion - #region StandaloneSubscribedDataSetDataType Class - #if (!OPCUA_EXCLUDE_StandaloneSubscribedDataSetDataType) + #region ReaderGroupMessageDataType Class + #if (!OPCUA_EXCLUDE_ReaderGroupMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class StandaloneSubscribedDataSetDataType : Opc.Ua.SubscribedDataSetDataType + public partial class ReaderGroupMessageDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public StandaloneSubscribedDataSetDataType() + public ReaderGroupMessageDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_name = null; - m_dataSetFolder = new StringCollection(); - m_dataSetMetaData = new DataSetMetaDataType(); - m_subscribedDataSet = null; } #endregion #region Public Properties - /// - [DataMember(Name = "Name", IsRequired = false, Order = 1)] - public string Name - { - get { return m_name; } - set { m_name = value; } - } - - /// - [DataMember(Name = "DataSetFolder", IsRequired = false, Order = 2)] - public StringCollection DataSetFolder - { - get - { - return m_dataSetFolder; - } - - set - { - m_dataSetFolder = value; - - if (value == null) - { - m_dataSetFolder = new StringCollection(); - } - } - } - - /// - [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 3)] - public DataSetMetaDataType DataSetMetaData - { - get - { - return m_dataSetMetaData; - } - - set - { - m_dataSetMetaData = value; - - if (value == null) - { - m_dataSetMetaData = new DataSetMetaDataType(); - } - } - } - - /// - [DataMember(Name = "SubscribedDataSet", IsRequired = false, Order = 4)] - public ExtensionObject SubscribedDataSet - { - get { return m_subscribedDataSet; } - set { m_subscribedDataSet = value; } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.StandaloneSubscribedDataSetDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ReaderGroupMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("Name", Name); - encoder.WriteStringArray("DataSetFolder", DataSetFolder); - encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); - encoder.WriteExtensionObject("SubscribedDataSet", SubscribedDataSet); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Name = decoder.ReadString("Name"); - DataSetFolder = decoder.ReadStringArray("DataSetFolder"); - DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); - SubscribedDataSet = decoder.ReadExtensionObject("SubscribedDataSet"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - StandaloneSubscribedDataSetDataType value = encodeable as StandaloneSubscribedDataSetDataType; + ReaderGroupMessageDataType value = encodeable as ReaderGroupMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_dataSetFolder, value.m_dataSetFolder)) return false; - if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; - if (!Utils.IsEqual(m_subscribedDataSet, value.m_subscribedDataSet)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (StandaloneSubscribedDataSetDataType)this.MemberwiseClone(); + return (ReaderGroupMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - StandaloneSubscribedDataSetDataType clone = (StandaloneSubscribedDataSetDataType)base.MemberwiseClone(); + ReaderGroupMessageDataType clone = (ReaderGroupMessageDataType)base.MemberwiseClone(); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_dataSetFolder = (StringCollection)Utils.Clone(this.m_dataSetFolder); - clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); - clone.m_subscribedDataSet = (ExtensionObject)Utils.Clone(this.m_subscribedDataSet); return clone; } #endregion #region Private Fields - private string m_name; - private StringCollection m_dataSetFolder; - private DataSetMetaDataType m_dataSetMetaData; - private ExtensionObject m_subscribedDataSet; #endregion } - #region StandaloneSubscribedDataSetDataTypeCollection Class + #region ReaderGroupMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfStandaloneSubscribedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StandaloneSubscribedDataSetDataType")] - public partial class StandaloneSubscribedDataSetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReaderGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReaderGroupMessageDataType")] + public partial class ReaderGroupMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public StandaloneSubscribedDataSetDataTypeCollection() {} + public ReaderGroupMessageDataTypeCollection() {} /// - public StandaloneSubscribedDataSetDataTypeCollection(int capacity) : base(capacity) {} + public ReaderGroupMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public StandaloneSubscribedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} + public ReaderGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator StandaloneSubscribedDataSetDataTypeCollection(StandaloneSubscribedDataSetDataType[] values) + public static implicit operator ReaderGroupMessageDataTypeCollection(ReaderGroupMessageDataType[] values) { if (values != null) { - return new StandaloneSubscribedDataSetDataTypeCollection(values); + return new ReaderGroupMessageDataTypeCollection(values); } - return new StandaloneSubscribedDataSetDataTypeCollection(); + return new ReaderGroupMessageDataTypeCollection(); } /// - public static explicit operator StandaloneSubscribedDataSetDataType[](StandaloneSubscribedDataSetDataTypeCollection values) + public static explicit operator ReaderGroupMessageDataType[](ReaderGroupMessageDataTypeCollection values) { if (values != null) { @@ -15700,18 +16099,18 @@ public static explicit operator StandaloneSubscribedDataSetDataType[](Standalone /// public object Clone() { - return (StandaloneSubscribedDataSetDataTypeCollection)this.MemberwiseClone(); + return (ReaderGroupMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - StandaloneSubscribedDataSetDataTypeCollection clone = new StandaloneSubscribedDataSetDataTypeCollection(this.Count); + ReaderGroupMessageDataTypeCollection clone = new ReaderGroupMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((StandaloneSubscribedDataSetDataType)Utils.Clone(this[ii])); + clone.Add((ReaderGroupMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -15721,17 +16120,17 @@ public object Clone() #endif #endregion - #region SecurityGroupDataType Class - #if (!OPCUA_EXCLUDE_SecurityGroupDataType) + #region DataSetReaderDataType Class + #if (!OPCUA_EXCLUDE_DataSetReaderDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class SecurityGroupDataType : IEncodeable, IJsonEncodeable + public partial class DataSetReaderDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public SecurityGroupDataType() + public DataSetReaderDataType() { Initialize(); } @@ -15745,14 +16144,22 @@ private void Initialize(StreamingContext context) private void Initialize() { m_name = null; - m_securityGroupFolder = new StringCollection(); - m_keyLifetime = (double)0; - m_securityPolicyUri = null; - m_maxFutureKeyCount = (uint)0; - m_maxPastKeyCount = (uint)0; + m_enabled = true; + m_publisherId = Variant.Null; + m_writerGroupId = (ushort)0; + m_dataSetWriterId = (ushort)0; + m_dataSetMetaData = new DataSetMetaDataType(); + m_dataSetFieldContentMask = 0; + m_messageReceiveTimeout = (double)0; + m_keyFrameCount = (uint)0; + m_headerLayoutUri = null; + m_securityMode = MessageSecurityMode.Invalid; m_securityGroupId = null; - m_rolePermissions = new RolePermissionTypeCollection(); - m_groupProperties = new KeyValuePairCollection(); + m_securityKeyServices = new EndpointDescriptionCollection(); + m_dataSetReaderProperties = new KeyValuePairCollection(); + m_transportSettings = null; + m_messageSettings = null; + m_subscribedDataSet = null; } #endregion @@ -15766,59 +16173,99 @@ public string Name } /// - [DataMember(Name = "SecurityGroupFolder", IsRequired = false, Order = 2)] - public StringCollection SecurityGroupFolder + [DataMember(Name = "Enabled", IsRequired = false, Order = 2)] + public bool Enabled { - get - { - return m_securityGroupFolder; - } - - set - { - m_securityGroupFolder = value; - - if (value == null) - { - m_securityGroupFolder = new StringCollection(); - } - } + get { return m_enabled; } + set { m_enabled = value; } } /// - [DataMember(Name = "KeyLifetime", IsRequired = false, Order = 3)] - public double KeyLifetime + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public Variant PublisherId { - get { return m_keyLifetime; } - set { m_keyLifetime = value; } + get { return m_publisherId; } + set { m_publisherId = value; } } /// - [DataMember(Name = "SecurityPolicyUri", IsRequired = false, Order = 4)] - public string SecurityPolicyUri + [DataMember(Name = "WriterGroupId", IsRequired = false, Order = 4)] + public ushort WriterGroupId { - get { return m_securityPolicyUri; } - set { m_securityPolicyUri = value; } + get { return m_writerGroupId; } + set { m_writerGroupId = value; } } /// - [DataMember(Name = "MaxFutureKeyCount", IsRequired = false, Order = 5)] - public uint MaxFutureKeyCount + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 5)] + public ushort DataSetWriterId { - get { return m_maxFutureKeyCount; } - set { m_maxFutureKeyCount = value; } + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } } /// - [DataMember(Name = "MaxPastKeyCount", IsRequired = false, Order = 6)] - public uint MaxPastKeyCount + [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 6)] + public DataSetMetaDataType DataSetMetaData { - get { return m_maxPastKeyCount; } - set { m_maxPastKeyCount = value; } + get + { + return m_dataSetMetaData; + } + + set + { + m_dataSetMetaData = value; + + if (value == null) + { + m_dataSetMetaData = new DataSetMetaDataType(); + } + } } /// - [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 7)] + [DataMember(Name = "DataSetFieldContentMask", IsRequired = false, Order = 7)] + public uint DataSetFieldContentMask + { + get { return m_dataSetFieldContentMask; } + set { m_dataSetFieldContentMask = value; } + } + + /// + [DataMember(Name = "MessageReceiveTimeout", IsRequired = false, Order = 8)] + public double MessageReceiveTimeout + { + get { return m_messageReceiveTimeout; } + set { m_messageReceiveTimeout = value; } + } + + /// + [DataMember(Name = "KeyFrameCount", IsRequired = false, Order = 9)] + public uint KeyFrameCount + { + get { return m_keyFrameCount; } + set { m_keyFrameCount = value; } + } + + /// + [DataMember(Name = "HeaderLayoutUri", IsRequired = false, Order = 10)] + public string HeaderLayoutUri + { + get { return m_headerLayoutUri; } + set { m_headerLayoutUri = value; } + } + + /// + [DataMember(Name = "SecurityMode", IsRequired = false, Order = 11)] + public MessageSecurityMode SecurityMode + { + get { return m_securityMode; } + set { m_securityMode = value; } + } + + /// + [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 12)] public string SecurityGroupId { get { return m_securityGroupId; } @@ -15826,58 +16273,82 @@ public string SecurityGroupId } /// - [DataMember(Name = "RolePermissions", IsRequired = false, Order = 8)] - public RolePermissionTypeCollection RolePermissions + [DataMember(Name = "SecurityKeyServices", IsRequired = false, Order = 13)] + public EndpointDescriptionCollection SecurityKeyServices { get { - return m_rolePermissions; + return m_securityKeyServices; } set { - m_rolePermissions = value; + m_securityKeyServices = value; if (value == null) { - m_rolePermissions = new RolePermissionTypeCollection(); + m_securityKeyServices = new EndpointDescriptionCollection(); } } } /// - [DataMember(Name = "GroupProperties", IsRequired = false, Order = 9)] - public KeyValuePairCollection GroupProperties + [DataMember(Name = "DataSetReaderProperties", IsRequired = false, Order = 14)] + public KeyValuePairCollection DataSetReaderProperties { get { - return m_groupProperties; + return m_dataSetReaderProperties; } set { - m_groupProperties = value; + m_dataSetReaderProperties = value; if (value == null) { - m_groupProperties = new KeyValuePairCollection(); + m_dataSetReaderProperties = new KeyValuePairCollection(); } } } + + /// + [DataMember(Name = "TransportSettings", IsRequired = false, Order = 15)] + public ExtensionObject TransportSettings + { + get { return m_transportSettings; } + set { m_transportSettings = value; } + } + + /// + [DataMember(Name = "MessageSettings", IsRequired = false, Order = 16)] + public ExtensionObject MessageSettings + { + get { return m_messageSettings; } + set { m_messageSettings = value; } + } + + /// + [DataMember(Name = "SubscribedDataSet", IsRequired = false, Order = 17)] + public ExtensionObject SubscribedDataSet + { + get { return m_subscribedDataSet; } + set { m_subscribedDataSet = value; } + } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.SecurityGroupDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) @@ -15885,14 +16356,22 @@ public virtual void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); encoder.WriteString("Name", Name); - encoder.WriteStringArray("SecurityGroupFolder", SecurityGroupFolder); - encoder.WriteDouble("KeyLifetime", KeyLifetime); - encoder.WriteString("SecurityPolicyUri", SecurityPolicyUri); - encoder.WriteUInt32("MaxFutureKeyCount", MaxFutureKeyCount); - encoder.WriteUInt32("MaxPastKeyCount", MaxPastKeyCount); + encoder.WriteBoolean("Enabled", Enabled); + encoder.WriteVariant("PublisherId", PublisherId); + encoder.WriteUInt16("WriterGroupId", WriterGroupId); + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); + encoder.WriteUInt32("DataSetFieldContentMask", DataSetFieldContentMask); + encoder.WriteDouble("MessageReceiveTimeout", MessageReceiveTimeout); + encoder.WriteUInt32("KeyFrameCount", KeyFrameCount); + encoder.WriteString("HeaderLayoutUri", HeaderLayoutUri); + encoder.WriteEnumerated("SecurityMode", SecurityMode); encoder.WriteString("SecurityGroupId", SecurityGroupId); - encoder.WriteEncodeableArray("RolePermissions", RolePermissions.ToArray(), typeof(RolePermissionType)); - encoder.WriteEncodeableArray("GroupProperties", GroupProperties.ToArray(), typeof(KeyValuePair)); + encoder.WriteEncodeableArray("SecurityKeyServices", SecurityKeyServices.ToArray(), typeof(EndpointDescription)); + encoder.WriteEncodeableArray("DataSetReaderProperties", DataSetReaderProperties.ToArray(), typeof(KeyValuePair)); + encoder.WriteExtensionObject("TransportSettings", TransportSettings); + encoder.WriteExtensionObject("MessageSettings", MessageSettings); + encoder.WriteExtensionObject("SubscribedDataSet", SubscribedDataSet); encoder.PopNamespace(); } @@ -15903,14 +16382,22 @@ public virtual void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); Name = decoder.ReadString("Name"); - SecurityGroupFolder = decoder.ReadStringArray("SecurityGroupFolder"); - KeyLifetime = decoder.ReadDouble("KeyLifetime"); - SecurityPolicyUri = decoder.ReadString("SecurityPolicyUri"); - MaxFutureKeyCount = decoder.ReadUInt32("MaxFutureKeyCount"); - MaxPastKeyCount = decoder.ReadUInt32("MaxPastKeyCount"); + Enabled = decoder.ReadBoolean("Enabled"); + PublisherId = decoder.ReadVariant("PublisherId"); + WriterGroupId = decoder.ReadUInt16("WriterGroupId"); + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); + DataSetFieldContentMask = decoder.ReadUInt32("DataSetFieldContentMask"); + MessageReceiveTimeout = decoder.ReadDouble("MessageReceiveTimeout"); + KeyFrameCount = decoder.ReadUInt32("KeyFrameCount"); + HeaderLayoutUri = decoder.ReadString("HeaderLayoutUri"); + SecurityMode = (MessageSecurityMode)decoder.ReadEnumerated("SecurityMode", typeof(MessageSecurityMode)); SecurityGroupId = decoder.ReadString("SecurityGroupId"); - RolePermissions = (RolePermissionTypeCollection)decoder.ReadEncodeableArray("RolePermissions", typeof(RolePermissionType)); - GroupProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("GroupProperties", typeof(KeyValuePair)); + SecurityKeyServices = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("SecurityKeyServices", typeof(EndpointDescription)); + DataSetReaderProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("DataSetReaderProperties", typeof(KeyValuePair)); + TransportSettings = decoder.ReadExtensionObject("TransportSettings"); + MessageSettings = decoder.ReadExtensionObject("MessageSettings"); + SubscribedDataSet = decoder.ReadExtensionObject("SubscribedDataSet"); decoder.PopNamespace(); } @@ -15923,7 +16410,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - SecurityGroupDataType value = encodeable as SecurityGroupDataType; + DataSetReaderDataType value = encodeable as DataSetReaderDataType; if (value == null) { @@ -15931,14 +16418,22 @@ public virtual bool IsEqual(IEncodeable encodeable) } if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_securityGroupFolder, value.m_securityGroupFolder)) return false; - if (!Utils.IsEqual(m_keyLifetime, value.m_keyLifetime)) return false; - if (!Utils.IsEqual(m_securityPolicyUri, value.m_securityPolicyUri)) return false; - if (!Utils.IsEqual(m_maxFutureKeyCount, value.m_maxFutureKeyCount)) return false; - if (!Utils.IsEqual(m_maxPastKeyCount, value.m_maxPastKeyCount)) return false; + if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_writerGroupId, value.m_writerGroupId)) return false; + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; + if (!Utils.IsEqual(m_dataSetFieldContentMask, value.m_dataSetFieldContentMask)) return false; + if (!Utils.IsEqual(m_messageReceiveTimeout, value.m_messageReceiveTimeout)) return false; + if (!Utils.IsEqual(m_keyFrameCount, value.m_keyFrameCount)) return false; + if (!Utils.IsEqual(m_headerLayoutUri, value.m_headerLayoutUri)) return false; + if (!Utils.IsEqual(m_securityMode, value.m_securityMode)) return false; if (!Utils.IsEqual(m_securityGroupId, value.m_securityGroupId)) return false; - if (!Utils.IsEqual(m_rolePermissions, value.m_rolePermissions)) return false; - if (!Utils.IsEqual(m_groupProperties, value.m_groupProperties)) return false; + if (!Utils.IsEqual(m_securityKeyServices, value.m_securityKeyServices)) return false; + if (!Utils.IsEqual(m_dataSetReaderProperties, value.m_dataSetReaderProperties)) return false; + if (!Utils.IsEqual(m_transportSettings, value.m_transportSettings)) return false; + if (!Utils.IsEqual(m_messageSettings, value.m_messageSettings)) return false; + if (!Utils.IsEqual(m_subscribedDataSet, value.m_subscribedDataSet)) return false; return true; } @@ -15946,23 +16441,31 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (SecurityGroupDataType)this.MemberwiseClone(); + return (DataSetReaderDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - SecurityGroupDataType clone = (SecurityGroupDataType)base.MemberwiseClone(); + DataSetReaderDataType clone = (DataSetReaderDataType)base.MemberwiseClone(); clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_securityGroupFolder = (StringCollection)Utils.Clone(this.m_securityGroupFolder); - clone.m_keyLifetime = (double)Utils.Clone(this.m_keyLifetime); - clone.m_securityPolicyUri = (string)Utils.Clone(this.m_securityPolicyUri); - clone.m_maxFutureKeyCount = (uint)Utils.Clone(this.m_maxFutureKeyCount); - clone.m_maxPastKeyCount = (uint)Utils.Clone(this.m_maxPastKeyCount); + clone.m_enabled = (bool)Utils.Clone(this.m_enabled); + clone.m_publisherId = (Variant)Utils.Clone(this.m_publisherId); + clone.m_writerGroupId = (ushort)Utils.Clone(this.m_writerGroupId); + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); + clone.m_dataSetFieldContentMask = (uint)Utils.Clone(this.m_dataSetFieldContentMask); + clone.m_messageReceiveTimeout = (double)Utils.Clone(this.m_messageReceiveTimeout); + clone.m_keyFrameCount = (uint)Utils.Clone(this.m_keyFrameCount); + clone.m_headerLayoutUri = (string)Utils.Clone(this.m_headerLayoutUri); + clone.m_securityMode = (MessageSecurityMode)Utils.Clone(this.m_securityMode); clone.m_securityGroupId = (string)Utils.Clone(this.m_securityGroupId); - clone.m_rolePermissions = (RolePermissionTypeCollection)Utils.Clone(this.m_rolePermissions); - clone.m_groupProperties = (KeyValuePairCollection)Utils.Clone(this.m_groupProperties); + clone.m_securityKeyServices = (EndpointDescriptionCollection)Utils.Clone(this.m_securityKeyServices); + clone.m_dataSetReaderProperties = (KeyValuePairCollection)Utils.Clone(this.m_dataSetReaderProperties); + clone.m_transportSettings = (ExtensionObject)Utils.Clone(this.m_transportSettings); + clone.m_messageSettings = (ExtensionObject)Utils.Clone(this.m_messageSettings); + clone.m_subscribedDataSet = (ExtensionObject)Utils.Clone(this.m_subscribedDataSet); return clone; } @@ -15970,49 +16473,57 @@ public virtual object Clone() #region Private Fields private string m_name; - private StringCollection m_securityGroupFolder; - private double m_keyLifetime; - private string m_securityPolicyUri; - private uint m_maxFutureKeyCount; - private uint m_maxPastKeyCount; + private bool m_enabled; + private Variant m_publisherId; + private ushort m_writerGroupId; + private ushort m_dataSetWriterId; + private DataSetMetaDataType m_dataSetMetaData; + private uint m_dataSetFieldContentMask; + private double m_messageReceiveTimeout; + private uint m_keyFrameCount; + private string m_headerLayoutUri; + private MessageSecurityMode m_securityMode; private string m_securityGroupId; - private RolePermissionTypeCollection m_rolePermissions; - private KeyValuePairCollection m_groupProperties; + private EndpointDescriptionCollection m_securityKeyServices; + private KeyValuePairCollection m_dataSetReaderProperties; + private ExtensionObject m_transportSettings; + private ExtensionObject m_messageSettings; + private ExtensionObject m_subscribedDataSet; #endregion } - #region SecurityGroupDataTypeCollection Class + #region DataSetReaderDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfSecurityGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SecurityGroupDataType")] - public partial class SecurityGroupDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetReaderDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderDataType")] + public partial class DataSetReaderDataTypeCollection : List, ICloneable { #region Constructors /// - public SecurityGroupDataTypeCollection() {} + public DataSetReaderDataTypeCollection() {} /// - public SecurityGroupDataTypeCollection(int capacity) : base(capacity) {} + public DataSetReaderDataTypeCollection(int capacity) : base(capacity) {} /// - public SecurityGroupDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetReaderDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator SecurityGroupDataTypeCollection(SecurityGroupDataType[] values) + public static implicit operator DataSetReaderDataTypeCollection(DataSetReaderDataType[] values) { if (values != null) { - return new SecurityGroupDataTypeCollection(values); + return new DataSetReaderDataTypeCollection(values); } - return new SecurityGroupDataTypeCollection(); + return new DataSetReaderDataTypeCollection(); } /// - public static explicit operator SecurityGroupDataType[](SecurityGroupDataTypeCollection values) + public static explicit operator DataSetReaderDataType[](DataSetReaderDataTypeCollection values) { if (values != null) { @@ -16027,18 +16538,18 @@ public static explicit operator SecurityGroupDataType[](SecurityGroupDataTypeCol /// public object Clone() { - return (SecurityGroupDataTypeCollection)this.MemberwiseClone(); + return (DataSetReaderDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - SecurityGroupDataTypeCollection clone = new SecurityGroupDataTypeCollection(this.Count); + DataSetReaderDataTypeCollection clone = new DataSetReaderDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((SecurityGroupDataType)Utils.Clone(this[ii])); + clone.Add((DataSetReaderDataType)Utils.Clone(this[ii])); } return clone; @@ -16048,17 +16559,17 @@ public object Clone() #endif #endregion - #region PubSubKeyPushTargetDataType Class - #if (!OPCUA_EXCLUDE_PubSubKeyPushTargetDataType) + #region DataSetReaderTransportDataType Class + #if (!OPCUA_EXCLUDE_DataSetReaderTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubKeyPushTargetDataType : IEncodeable, IJsonEncodeable + public partial class DataSetReaderTransportDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public PubSubKeyPushTargetDataType() + public DataSetReaderTransportDataType() { Initialize(); } @@ -16071,167 +16582,30 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_applicationUri = null; - m_pushTargetFolder = new StringCollection(); - m_endpointUrl = null; - m_securityPolicyUri = null; - m_userTokenType = new UserTokenPolicy(); - m_requestedKeyCount = (ushort)0; - m_retryInterval = (double)0; - m_pushTargetProperties = new KeyValuePairCollection(); - m_securityGroups = new StringCollection(); } #endregion #region Public Properties - /// - [DataMember(Name = "ApplicationUri", IsRequired = false, Order = 1)] - public string ApplicationUri - { - get { return m_applicationUri; } - set { m_applicationUri = value; } - } - - /// - [DataMember(Name = "PushTargetFolder", IsRequired = false, Order = 2)] - public StringCollection PushTargetFolder - { - get - { - return m_pushTargetFolder; - } - - set - { - m_pushTargetFolder = value; - - if (value == null) - { - m_pushTargetFolder = new StringCollection(); - } - } - } - - /// - [DataMember(Name = "EndpointUrl", IsRequired = false, Order = 3)] - public string EndpointUrl - { - get { return m_endpointUrl; } - set { m_endpointUrl = value; } - } - - /// - [DataMember(Name = "SecurityPolicyUri", IsRequired = false, Order = 4)] - public string SecurityPolicyUri - { - get { return m_securityPolicyUri; } - set { m_securityPolicyUri = value; } - } - - /// - [DataMember(Name = "UserTokenType", IsRequired = false, Order = 5)] - public UserTokenPolicy UserTokenType - { - get - { - return m_userTokenType; - } - - set - { - m_userTokenType = value; - - if (value == null) - { - m_userTokenType = new UserTokenPolicy(); - } - } - } - - /// - [DataMember(Name = "RequestedKeyCount", IsRequired = false, Order = 6)] - public ushort RequestedKeyCount - { - get { return m_requestedKeyCount; } - set { m_requestedKeyCount = value; } - } - - /// - [DataMember(Name = "RetryInterval", IsRequired = false, Order = 7)] - public double RetryInterval - { - get { return m_retryInterval; } - set { m_retryInterval = value; } - } - - /// - [DataMember(Name = "PushTargetProperties", IsRequired = false, Order = 8)] - public KeyValuePairCollection PushTargetProperties - { - get - { - return m_pushTargetProperties; - } - - set - { - m_pushTargetProperties = value; - - if (value == null) - { - m_pushTargetProperties = new KeyValuePairCollection(); - } - } - } - - /// - [DataMember(Name = "SecurityGroups", IsRequired = false, Order = 9)] - public StringCollection SecurityGroups - { - get - { - return m_securityGroups; - } - - set - { - m_securityGroups = value; - - if (value == null) - { - m_securityGroups = new StringCollection(); - } - } - } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubKeyPushTargetDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("ApplicationUri", ApplicationUri); - encoder.WriteStringArray("PushTargetFolder", PushTargetFolder); - encoder.WriteString("EndpointUrl", EndpointUrl); - encoder.WriteString("SecurityPolicyUri", SecurityPolicyUri); - encoder.WriteEncodeable("UserTokenType", UserTokenType, typeof(UserTokenPolicy)); - encoder.WriteUInt16("RequestedKeyCount", RequestedKeyCount); - encoder.WriteDouble("RetryInterval", RetryInterval); - encoder.WriteEncodeableArray("PushTargetProperties", PushTargetProperties.ToArray(), typeof(KeyValuePair)); - encoder.WriteStringArray("SecurityGroups", SecurityGroups); encoder.PopNamespace(); } @@ -16241,15 +16615,6 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ApplicationUri = decoder.ReadString("ApplicationUri"); - PushTargetFolder = decoder.ReadStringArray("PushTargetFolder"); - EndpointUrl = decoder.ReadString("EndpointUrl"); - SecurityPolicyUri = decoder.ReadString("SecurityPolicyUri"); - UserTokenType = (UserTokenPolicy)decoder.ReadEncodeable("UserTokenType", typeof(UserTokenPolicy)); - RequestedKeyCount = decoder.ReadUInt16("RequestedKeyCount"); - RetryInterval = decoder.ReadDouble("RetryInterval"); - PushTargetProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("PushTargetProperties", typeof(KeyValuePair)); - SecurityGroups = decoder.ReadStringArray("SecurityGroups"); decoder.PopNamespace(); } @@ -16262,22 +16627,13 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - PubSubKeyPushTargetDataType value = encodeable as PubSubKeyPushTargetDataType; + DataSetReaderTransportDataType value = encodeable as DataSetReaderTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_applicationUri, value.m_applicationUri)) return false; - if (!Utils.IsEqual(m_pushTargetFolder, value.m_pushTargetFolder)) return false; - if (!Utils.IsEqual(m_endpointUrl, value.m_endpointUrl)) return false; - if (!Utils.IsEqual(m_securityPolicyUri, value.m_securityPolicyUri)) return false; - if (!Utils.IsEqual(m_userTokenType, value.m_userTokenType)) return false; - if (!Utils.IsEqual(m_requestedKeyCount, value.m_requestedKeyCount)) return false; - if (!Utils.IsEqual(m_retryInterval, value.m_retryInterval)) return false; - if (!Utils.IsEqual(m_pushTargetProperties, value.m_pushTargetProperties)) return false; - if (!Utils.IsEqual(m_securityGroups, value.m_securityGroups)) return false; return true; } @@ -16285,73 +16641,55 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (PubSubKeyPushTargetDataType)this.MemberwiseClone(); + return (DataSetReaderTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubKeyPushTargetDataType clone = (PubSubKeyPushTargetDataType)base.MemberwiseClone(); + DataSetReaderTransportDataType clone = (DataSetReaderTransportDataType)base.MemberwiseClone(); - clone.m_applicationUri = (string)Utils.Clone(this.m_applicationUri); - clone.m_pushTargetFolder = (StringCollection)Utils.Clone(this.m_pushTargetFolder); - clone.m_endpointUrl = (string)Utils.Clone(this.m_endpointUrl); - clone.m_securityPolicyUri = (string)Utils.Clone(this.m_securityPolicyUri); - clone.m_userTokenType = (UserTokenPolicy)Utils.Clone(this.m_userTokenType); - clone.m_requestedKeyCount = (ushort)Utils.Clone(this.m_requestedKeyCount); - clone.m_retryInterval = (double)Utils.Clone(this.m_retryInterval); - clone.m_pushTargetProperties = (KeyValuePairCollection)Utils.Clone(this.m_pushTargetProperties); - clone.m_securityGroups = (StringCollection)Utils.Clone(this.m_securityGroups); return clone; } #endregion #region Private Fields - private string m_applicationUri; - private StringCollection m_pushTargetFolder; - private string m_endpointUrl; - private string m_securityPolicyUri; - private UserTokenPolicy m_userTokenType; - private ushort m_requestedKeyCount; - private double m_retryInterval; - private KeyValuePairCollection m_pushTargetProperties; - private StringCollection m_securityGroups; #endregion } - #region PubSubKeyPushTargetDataTypeCollection Class + #region DataSetReaderTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubKeyPushTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubKeyPushTargetDataType")] - public partial class PubSubKeyPushTargetDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderTransportDataType")] + public partial class DataSetReaderTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubKeyPushTargetDataTypeCollection() {} + public DataSetReaderTransportDataTypeCollection() {} /// - public PubSubKeyPushTargetDataTypeCollection(int capacity) : base(capacity) {} + public DataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubKeyPushTargetDataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubKeyPushTargetDataTypeCollection(PubSubKeyPushTargetDataType[] values) + public static implicit operator DataSetReaderTransportDataTypeCollection(DataSetReaderTransportDataType[] values) { if (values != null) { - return new PubSubKeyPushTargetDataTypeCollection(values); + return new DataSetReaderTransportDataTypeCollection(values); } - return new PubSubKeyPushTargetDataTypeCollection(); + return new DataSetReaderTransportDataTypeCollection(); } /// - public static explicit operator PubSubKeyPushTargetDataType[](PubSubKeyPushTargetDataTypeCollection values) + public static explicit operator DataSetReaderTransportDataType[](DataSetReaderTransportDataTypeCollection values) { if (values != null) { @@ -16366,18 +16704,18 @@ public static explicit operator PubSubKeyPushTargetDataType[](PubSubKeyPushTarge /// public object Clone() { - return (PubSubKeyPushTargetDataTypeCollection)this.MemberwiseClone(); + return (DataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubKeyPushTargetDataTypeCollection clone = new PubSubKeyPushTargetDataTypeCollection(this.Count); + DataSetReaderTransportDataTypeCollection clone = new DataSetReaderTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubKeyPushTargetDataType)Utils.Clone(this[ii])); + clone.Add((DataSetReaderTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -16387,310 +16725,137 @@ public object Clone() #endif #endregion - #region PubSubConfiguration2DataType Class - #if (!OPCUA_EXCLUDE_PubSubConfiguration2DataType) + #region DataSetReaderMessageDataType Class + #if (!OPCUA_EXCLUDE_DataSetReaderMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubConfiguration2DataType : Opc.Ua.PubSubConfigurationDataType + public partial class DataSetReaderMessageDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public PubSubConfiguration2DataType() + public DataSetReaderMessageDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_subscribedDataSets = new StandaloneSubscribedDataSetDataTypeCollection(); - m_dataSetClasses = new DataSetMetaDataTypeCollection(); - m_defaultSecurityKeyServices = new EndpointDescriptionCollection(); - m_securityGroups = new SecurityGroupDataTypeCollection(); - m_pubSubKeyPushTargets = new PubSubKeyPushTargetDataTypeCollection(); - m_configurationVersion = (uint)0; - m_configurationProperties = new KeyValuePairCollection(); } #endregion #region Public Properties - /// - [DataMember(Name = "SubscribedDataSets", IsRequired = false, Order = 1)] - public StandaloneSubscribedDataSetDataTypeCollection SubscribedDataSets - { - get - { - return m_subscribedDataSets; - } - - set - { - m_subscribedDataSets = value; - - if (value == null) - { - m_subscribedDataSets = new StandaloneSubscribedDataSetDataTypeCollection(); - } - } - } - - /// - [DataMember(Name = "DataSetClasses", IsRequired = false, Order = 2)] - public DataSetMetaDataTypeCollection DataSetClasses - { - get - { - return m_dataSetClasses; - } - - set - { - m_dataSetClasses = value; - - if (value == null) - { - m_dataSetClasses = new DataSetMetaDataTypeCollection(); - } - } - } - - /// - [DataMember(Name = "DefaultSecurityKeyServices", IsRequired = false, Order = 3)] - public EndpointDescriptionCollection DefaultSecurityKeyServices - { - get - { - return m_defaultSecurityKeyServices; - } - - set - { - m_defaultSecurityKeyServices = value; - - if (value == null) - { - m_defaultSecurityKeyServices = new EndpointDescriptionCollection(); - } - } - } - - /// - [DataMember(Name = "SecurityGroups", IsRequired = false, Order = 4)] - public SecurityGroupDataTypeCollection SecurityGroups - { - get - { - return m_securityGroups; - } - - set - { - m_securityGroups = value; - - if (value == null) - { - m_securityGroups = new SecurityGroupDataTypeCollection(); - } - } - } - - /// - [DataMember(Name = "PubSubKeyPushTargets", IsRequired = false, Order = 5)] - public PubSubKeyPushTargetDataTypeCollection PubSubKeyPushTargets - { - get - { - return m_pubSubKeyPushTargets; - } - - set - { - m_pubSubKeyPushTargets = value; - - if (value == null) - { - m_pubSubKeyPushTargets = new PubSubKeyPushTargetDataTypeCollection(); - } - } - } - - /// - [DataMember(Name = "ConfigurationVersion", IsRequired = false, Order = 6)] - public uint ConfigurationVersion - { - get { return m_configurationVersion; } - set { m_configurationVersion = value; } - } - - /// - [DataMember(Name = "ConfigurationProperties", IsRequired = false, Order = 7)] - public KeyValuePairCollection ConfigurationProperties - { - get - { - return m_configurationProperties; - } - - set - { - m_configurationProperties = value; - - if (value == null) - { - m_configurationProperties = new KeyValuePairCollection(); - } - } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.PubSubConfiguration2DataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DataSetReaderMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeableArray("SubscribedDataSets", SubscribedDataSets.ToArray(), typeof(StandaloneSubscribedDataSetDataType)); - encoder.WriteEncodeableArray("DataSetClasses", DataSetClasses.ToArray(), typeof(DataSetMetaDataType)); - encoder.WriteEncodeableArray("DefaultSecurityKeyServices", DefaultSecurityKeyServices.ToArray(), typeof(EndpointDescription)); - encoder.WriteEncodeableArray("SecurityGroups", SecurityGroups.ToArray(), typeof(SecurityGroupDataType)); - encoder.WriteEncodeableArray("PubSubKeyPushTargets", PubSubKeyPushTargets.ToArray(), typeof(PubSubKeyPushTargetDataType)); - encoder.WriteUInt32("ConfigurationVersion", ConfigurationVersion); - encoder.WriteEncodeableArray("ConfigurationProperties", ConfigurationProperties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - SubscribedDataSets = (StandaloneSubscribedDataSetDataTypeCollection)decoder.ReadEncodeableArray("SubscribedDataSets", typeof(StandaloneSubscribedDataSetDataType)); - DataSetClasses = (DataSetMetaDataTypeCollection)decoder.ReadEncodeableArray("DataSetClasses", typeof(DataSetMetaDataType)); - DefaultSecurityKeyServices = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("DefaultSecurityKeyServices", typeof(EndpointDescription)); - SecurityGroups = (SecurityGroupDataTypeCollection)decoder.ReadEncodeableArray("SecurityGroups", typeof(SecurityGroupDataType)); - PubSubKeyPushTargets = (PubSubKeyPushTargetDataTypeCollection)decoder.ReadEncodeableArray("PubSubKeyPushTargets", typeof(PubSubKeyPushTargetDataType)); - ConfigurationVersion = decoder.ReadUInt32("ConfigurationVersion"); - ConfigurationProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("ConfigurationProperties", typeof(KeyValuePair)); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PubSubConfiguration2DataType value = encodeable as PubSubConfiguration2DataType; + DataSetReaderMessageDataType value = encodeable as DataSetReaderMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_subscribedDataSets, value.m_subscribedDataSets)) return false; - if (!Utils.IsEqual(m_dataSetClasses, value.m_dataSetClasses)) return false; - if (!Utils.IsEqual(m_defaultSecurityKeyServices, value.m_defaultSecurityKeyServices)) return false; - if (!Utils.IsEqual(m_securityGroups, value.m_securityGroups)) return false; - if (!Utils.IsEqual(m_pubSubKeyPushTargets, value.m_pubSubKeyPushTargets)) return false; - if (!Utils.IsEqual(m_configurationVersion, value.m_configurationVersion)) return false; - if (!Utils.IsEqual(m_configurationProperties, value.m_configurationProperties)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (PubSubConfiguration2DataType)this.MemberwiseClone(); + return (DataSetReaderMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubConfiguration2DataType clone = (PubSubConfiguration2DataType)base.MemberwiseClone(); + DataSetReaderMessageDataType clone = (DataSetReaderMessageDataType)base.MemberwiseClone(); - clone.m_subscribedDataSets = (StandaloneSubscribedDataSetDataTypeCollection)Utils.Clone(this.m_subscribedDataSets); - clone.m_dataSetClasses = (DataSetMetaDataTypeCollection)Utils.Clone(this.m_dataSetClasses); - clone.m_defaultSecurityKeyServices = (EndpointDescriptionCollection)Utils.Clone(this.m_defaultSecurityKeyServices); - clone.m_securityGroups = (SecurityGroupDataTypeCollection)Utils.Clone(this.m_securityGroups); - clone.m_pubSubKeyPushTargets = (PubSubKeyPushTargetDataTypeCollection)Utils.Clone(this.m_pubSubKeyPushTargets); - clone.m_configurationVersion = (uint)Utils.Clone(this.m_configurationVersion); - clone.m_configurationProperties = (KeyValuePairCollection)Utils.Clone(this.m_configurationProperties); return clone; } #endregion #region Private Fields - private StandaloneSubscribedDataSetDataTypeCollection m_subscribedDataSets; - private DataSetMetaDataTypeCollection m_dataSetClasses; - private EndpointDescriptionCollection m_defaultSecurityKeyServices; - private SecurityGroupDataTypeCollection m_securityGroups; - private PubSubKeyPushTargetDataTypeCollection m_pubSubKeyPushTargets; - private uint m_configurationVersion; - private KeyValuePairCollection m_configurationProperties; #endregion } - #region PubSubConfiguration2DataTypeCollection Class + #region DataSetReaderMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConfiguration2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfiguration2DataType")] - public partial class PubSubConfiguration2DataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetReaderMessageDataType")] + public partial class DataSetReaderMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConfiguration2DataTypeCollection() {} + public DataSetReaderMessageDataTypeCollection() {} /// - public PubSubConfiguration2DataTypeCollection(int capacity) : base(capacity) {} + public DataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConfiguration2DataTypeCollection(IEnumerable collection) : base(collection) {} + public DataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConfiguration2DataTypeCollection(PubSubConfiguration2DataType[] values) + public static implicit operator DataSetReaderMessageDataTypeCollection(DataSetReaderMessageDataType[] values) { if (values != null) { - return new PubSubConfiguration2DataTypeCollection(values); + return new DataSetReaderMessageDataTypeCollection(values); } - return new PubSubConfiguration2DataTypeCollection(); + return new DataSetReaderMessageDataTypeCollection(); } /// - public static explicit operator PubSubConfiguration2DataType[](PubSubConfiguration2DataTypeCollection values) + public static explicit operator DataSetReaderMessageDataType[](DataSetReaderMessageDataTypeCollection values) { if (values != null) { @@ -16705,18 +16870,18 @@ public static explicit operator PubSubConfiguration2DataType[](PubSubConfigurati /// public object Clone() { - return (PubSubConfiguration2DataTypeCollection)this.MemberwiseClone(); + return (DataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConfiguration2DataTypeCollection clone = new PubSubConfiguration2DataTypeCollection(this.Count); + DataSetReaderMessageDataTypeCollection clone = new DataSetReaderMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConfiguration2DataType)Utils.Clone(this[ii])); + clone.Add((DataSetReaderMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -16726,183 +16891,137 @@ public object Clone() #endif #endregion - #region DataSetOrderingType Enumeration - #if (!OPCUA_EXCLUDE_DataSetOrderingType) + #region SubscribedDataSetDataType Class + #if (!OPCUA_EXCLUDE_SubscribedDataSetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum DataSetOrderingType + public partial class SubscribedDataSetDataType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "Undefined_0")] - Undefined = 0, + public SubscribedDataSetDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + } + #endregion - /// - [EnumMember(Value = "AscendingWriterId_1")] - AscendingWriterId = 1, + #region Public Properties + #endregion - /// - [EnumMember(Value = "AscendingWriterIdSingle_2")] - AscendingWriterIdSingle = 2, - } + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.SubscribedDataSetDataType; - #region DataSetOrderingTypeCollection Class - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDataSetOrderingType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetOrderingType")] - public partial class DataSetOrderingTypeCollection : List, ICloneable - { - #region Constructors - /// - public DataSetOrderingTypeCollection() {} + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultBinary; - /// - public DataSetOrderingTypeCollection(int capacity) : base(capacity) {} + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.SubscribedDataSetDataType_Encoding_DefaultJson; - /// - public DataSetOrderingTypeCollection(IEnumerable collection) : base(collection) {} - #endregion + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - #region Static Operators - /// - public static implicit operator DataSetOrderingTypeCollection(DataSetOrderingType[] values) + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) { - if (values != null) - { - return new DataSetOrderingTypeCollection(values); - } + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - return new DataSetOrderingTypeCollection(); + + decoder.PopNamespace(); } - /// - public static explicit operator DataSetOrderingType[](DataSetOrderingTypeCollection values) + /// + public virtual bool IsEqual(IEncodeable encodeable) { - if (values != null) + if (Object.ReferenceEquals(this, encodeable)) { - return values.ToArray(); + return true; } - return null; + SubscribedDataSetDataType value = encodeable as SubscribedDataSetDataType; + + if (value == null) + { + return false; + } + + + return true; } - #endregion - #region ICloneable Methods - /// - public object Clone() + /// + public virtual object Clone() { - return (DataSetOrderingTypeCollection)this.MemberwiseClone(); + return (SubscribedDataSetDataType)this.MemberwiseClone(); } - #endregion /// public new object MemberwiseClone() { - DataSetOrderingTypeCollection clone = new DataSetOrderingTypeCollection(this.Count); + SubscribedDataSetDataType clone = (SubscribedDataSetDataType)base.MemberwiseClone(); - for (int ii = 0; ii < this.Count; ii++) - { - clone.Add((DataSetOrderingType)Utils.Clone(this[ii])); - } return clone; } - } - #endregion - #endif - #endregion - - #region UadpNetworkMessageContentMask Enumeration - #if (!OPCUA_EXCLUDE_UadpNetworkMessageContentMask) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum UadpNetworkMessageContentMask : UInt32 - { - /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "PublisherId_1")] - PublisherId = 1, - - /// - [EnumMember(Value = "GroupHeader_2")] - GroupHeader = 2, - - /// - [EnumMember(Value = "WriterGroupId_4")] - WriterGroupId = 4, - - /// - [EnumMember(Value = "GroupVersion_8")] - GroupVersion = 8, - - /// - [EnumMember(Value = "NetworkMessageNumber_16")] - NetworkMessageNumber = 16, - - /// - [EnumMember(Value = "SequenceNumber_32")] - SequenceNumber = 32, - - /// - [EnumMember(Value = "PayloadHeader_64")] - PayloadHeader = 64, - - /// - [EnumMember(Value = "Timestamp_128")] - Timestamp = 128, - - /// - [EnumMember(Value = "PicoSeconds_256")] - PicoSeconds = 256, - - /// - [EnumMember(Value = "DataSetClassId_512")] - DataSetClassId = 512, + #endregion - /// - [EnumMember(Value = "PromotedFields_1024")] - PromotedFields = 1024, + #region Private Fields + #endregion } - #region UadpNetworkMessageContentMaskCollection Class + #region SubscribedDataSetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUadpNetworkMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpNetworkMessageContentMask")] - public partial class UadpNetworkMessageContentMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSubscribedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SubscribedDataSetDataType")] + public partial class SubscribedDataSetDataTypeCollection : List, ICloneable { #region Constructors /// - public UadpNetworkMessageContentMaskCollection() {} + public SubscribedDataSetDataTypeCollection() {} /// - public UadpNetworkMessageContentMaskCollection(int capacity) : base(capacity) {} + public SubscribedDataSetDataTypeCollection(int capacity) : base(capacity) {} /// - public UadpNetworkMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + public SubscribedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UadpNetworkMessageContentMaskCollection(UadpNetworkMessageContentMask[] values) + public static implicit operator SubscribedDataSetDataTypeCollection(SubscribedDataSetDataType[] values) { if (values != null) { - return new UadpNetworkMessageContentMaskCollection(values); + return new SubscribedDataSetDataTypeCollection(values); } - return new UadpNetworkMessageContentMaskCollection(); + return new SubscribedDataSetDataTypeCollection(); } /// - public static explicit operator UadpNetworkMessageContentMask[](UadpNetworkMessageContentMaskCollection values) + public static explicit operator SubscribedDataSetDataType[](SubscribedDataSetDataTypeCollection values) { if (values != null) { @@ -16917,18 +17036,18 @@ public static explicit operator UadpNetworkMessageContentMask[](UadpNetworkMessa /// public object Clone() { - return (UadpNetworkMessageContentMaskCollection)this.MemberwiseClone(); + return (SubscribedDataSetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UadpNetworkMessageContentMaskCollection clone = new UadpNetworkMessageContentMaskCollection(this.Count); + SubscribedDataSetDataTypeCollection clone = new SubscribedDataSetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UadpNetworkMessageContentMask)Utils.Clone(this[ii])); + clone.Add((SubscribedDataSetDataType)Utils.Clone(this[ii])); } return clone; @@ -16938,17 +17057,17 @@ public object Clone() #endif #endregion - #region UadpWriterGroupMessageDataType Class - #if (!OPCUA_EXCLUDE_UadpWriterGroupMessageDataType) + #region TargetVariablesDataType Class + #if (!OPCUA_EXCLUDE_TargetVariablesDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UadpWriterGroupMessageDataType : Opc.Ua.WriterGroupMessageDataType + public partial class TargetVariablesDataType : Opc.Ua.SubscribedDataSetDataType { #region Constructors /// - public UadpWriterGroupMessageDataType() + public TargetVariablesDataType() { Initialize(); } @@ -16961,63 +17080,27 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_groupVersion = (uint)0; - m_dataSetOrdering = DataSetOrderingType.Undefined; - m_networkMessageContentMask = 0; - m_samplingOffset = (double)0; - m_publishingOffset = new DoubleCollection(); + m_targetVariables = new FieldTargetDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "GroupVersion", IsRequired = false, Order = 1)] - public uint GroupVersion - { - get { return m_groupVersion; } - set { m_groupVersion = value; } - } - - /// - [DataMember(Name = "DataSetOrdering", IsRequired = false, Order = 2)] - public DataSetOrderingType DataSetOrdering - { - get { return m_dataSetOrdering; } - set { m_dataSetOrdering = value; } - } - - /// - [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 3)] - public uint NetworkMessageContentMask - { - get { return m_networkMessageContentMask; } - set { m_networkMessageContentMask = value; } - } - - /// - [DataMember(Name = "SamplingOffset", IsRequired = false, Order = 4)] - public double SamplingOffset - { - get { return m_samplingOffset; } - set { m_samplingOffset = value; } - } - - /// - [DataMember(Name = "PublishingOffset", IsRequired = false, Order = 5)] - public DoubleCollection PublishingOffset + [DataMember(Name = "TargetVariables", IsRequired = false, Order = 1)] + public FieldTargetDataTypeCollection TargetVariables { get { - return m_publishingOffset; + return m_targetVariables; } set { - m_publishingOffset = value; + m_targetVariables = value; if (value == null) { - m_publishingOffset = new DoubleCollection(); + m_targetVariables = new FieldTargetDataTypeCollection(); } } } @@ -17025,16 +17108,16 @@ public DoubleCollection PublishingOffset #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.UadpWriterGroupMessageDataType; + public override ExpandedNodeId TypeId => DataTypeIds.TargetVariablesDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.TargetVariablesDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -17043,11 +17126,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("GroupVersion", GroupVersion); - encoder.WriteEnumerated("DataSetOrdering", DataSetOrdering); - encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); - encoder.WriteDouble("SamplingOffset", SamplingOffset); - encoder.WriteDoubleArray("PublishingOffset", PublishingOffset); + encoder.WriteEncodeableArray("TargetVariables", TargetVariables.ToArray(), typeof(FieldTargetDataType)); encoder.PopNamespace(); } @@ -17059,11 +17138,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - GroupVersion = decoder.ReadUInt32("GroupVersion"); - DataSetOrdering = (DataSetOrderingType)decoder.ReadEnumerated("DataSetOrdering", typeof(DataSetOrderingType)); - NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); - SamplingOffset = decoder.ReadDouble("SamplingOffset"); - PublishingOffset = decoder.ReadDoubleArray("PublishingOffset"); + TargetVariables = (FieldTargetDataTypeCollection)decoder.ReadEncodeableArray("TargetVariables", typeof(FieldTargetDataType)); decoder.PopNamespace(); } @@ -17076,18 +17151,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - UadpWriterGroupMessageDataType value = encodeable as UadpWriterGroupMessageDataType; + TargetVariablesDataType value = encodeable as TargetVariablesDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_groupVersion, value.m_groupVersion)) return false; - if (!Utils.IsEqual(m_dataSetOrdering, value.m_dataSetOrdering)) return false; - if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; - if (!Utils.IsEqual(m_samplingOffset, value.m_samplingOffset)) return false; - if (!Utils.IsEqual(m_publishingOffset, value.m_publishingOffset)) return false; + if (!Utils.IsEqual(m_targetVariables, value.m_targetVariables)) return false; return base.IsEqual(encodeable); } @@ -17095,65 +17166,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (UadpWriterGroupMessageDataType)this.MemberwiseClone(); + return (TargetVariablesDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - UadpWriterGroupMessageDataType clone = (UadpWriterGroupMessageDataType)base.MemberwiseClone(); + TargetVariablesDataType clone = (TargetVariablesDataType)base.MemberwiseClone(); - clone.m_groupVersion = (uint)Utils.Clone(this.m_groupVersion); - clone.m_dataSetOrdering = (DataSetOrderingType)Utils.Clone(this.m_dataSetOrdering); - clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); - clone.m_samplingOffset = (double)Utils.Clone(this.m_samplingOffset); - clone.m_publishingOffset = (DoubleCollection)Utils.Clone(this.m_publishingOffset); + clone.m_targetVariables = (FieldTargetDataTypeCollection)Utils.Clone(this.m_targetVariables); return clone; } #endregion #region Private Fields - private uint m_groupVersion; - private DataSetOrderingType m_dataSetOrdering; - private uint m_networkMessageContentMask; - private double m_samplingOffset; - private DoubleCollection m_publishingOffset; + private FieldTargetDataTypeCollection m_targetVariables; #endregion } - #region UadpWriterGroupMessageDataTypeCollection Class + #region TargetVariablesDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUadpWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpWriterGroupMessageDataType")] - public partial class UadpWriterGroupMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTargetVariablesDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TargetVariablesDataType")] + public partial class TargetVariablesDataTypeCollection : List, ICloneable { #region Constructors /// - public UadpWriterGroupMessageDataTypeCollection() {} + public TargetVariablesDataTypeCollection() {} /// - public UadpWriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} + public TargetVariablesDataTypeCollection(int capacity) : base(capacity) {} /// - public UadpWriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public TargetVariablesDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UadpWriterGroupMessageDataTypeCollection(UadpWriterGroupMessageDataType[] values) + public static implicit operator TargetVariablesDataTypeCollection(TargetVariablesDataType[] values) { if (values != null) { - return new UadpWriterGroupMessageDataTypeCollection(values); + return new TargetVariablesDataTypeCollection(values); } - return new UadpWriterGroupMessageDataTypeCollection(); + return new TargetVariablesDataTypeCollection(); } /// - public static explicit operator UadpWriterGroupMessageDataType[](UadpWriterGroupMessageDataTypeCollection values) + public static explicit operator TargetVariablesDataType[](TargetVariablesDataTypeCollection values) { if (values != null) { @@ -17168,18 +17231,18 @@ public static explicit operator UadpWriterGroupMessageDataType[](UadpWriterGroup /// public object Clone() { - return (UadpWriterGroupMessageDataTypeCollection)this.MemberwiseClone(); + return (TargetVariablesDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UadpWriterGroupMessageDataTypeCollection clone = new UadpWriterGroupMessageDataTypeCollection(this.Count); + TargetVariablesDataTypeCollection clone = new TargetVariablesDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UadpWriterGroupMessageDataType)Utils.Clone(this[ii])); + clone.Add((TargetVariablesDataType)Utils.Clone(this[ii])); } return clone; @@ -17189,75 +17252,234 @@ public object Clone() #endif #endregion - #region UadpDataSetMessageContentMask Enumeration - #if (!OPCUA_EXCLUDE_UadpDataSetMessageContentMask) + #region FieldTargetDataType Class + #if (!OPCUA_EXCLUDE_FieldTargetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum UadpDataSetMessageContentMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class FieldTargetDataType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, + public FieldTargetDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_dataSetFieldId = Uuid.Empty; + m_receiverIndexRange = null; + m_targetNodeId = null; + m_attributeId = (uint)0; + m_writeIndexRange = null; + m_overrideValueHandling = OverrideValueHandling.Disabled; + m_overrideValue = Variant.Null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "Timestamp_1")] - Timestamp = 1, + [DataMember(Name = "DataSetFieldId", IsRequired = false, Order = 1)] + public Uuid DataSetFieldId + { + get { return m_dataSetFieldId; } + set { m_dataSetFieldId = value; } + } /// - [EnumMember(Value = "PicoSeconds_2")] - PicoSeconds = 2, + [DataMember(Name = "ReceiverIndexRange", IsRequired = false, Order = 2)] + public string ReceiverIndexRange + { + get { return m_receiverIndexRange; } + set { m_receiverIndexRange = value; } + } /// - [EnumMember(Value = "Status_4")] - Status = 4, + [DataMember(Name = "TargetNodeId", IsRequired = false, Order = 3)] + public NodeId TargetNodeId + { + get { return m_targetNodeId; } + set { m_targetNodeId = value; } + } /// - [EnumMember(Value = "MajorVersion_8")] - MajorVersion = 8, + [DataMember(Name = "AttributeId", IsRequired = false, Order = 4)] + public uint AttributeId + { + get { return m_attributeId; } + set { m_attributeId = value; } + } /// - [EnumMember(Value = "MinorVersion_16")] - MinorVersion = 16, + [DataMember(Name = "WriteIndexRange", IsRequired = false, Order = 5)] + public string WriteIndexRange + { + get { return m_writeIndexRange; } + set { m_writeIndexRange = value; } + } /// - [EnumMember(Value = "SequenceNumber_32")] - SequenceNumber = 32, + [DataMember(Name = "OverrideValueHandling", IsRequired = false, Order = 6)] + public OverrideValueHandling OverrideValueHandling + { + get { return m_overrideValueHandling; } + set { m_overrideValueHandling = value; } + } + + /// + [DataMember(Name = "OverrideValue", IsRequired = false, Order = 7)] + public Variant OverrideValue + { + get { return m_overrideValue; } + set { m_overrideValue = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.FieldTargetDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.FieldTargetDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteGuid("DataSetFieldId", DataSetFieldId); + encoder.WriteString("ReceiverIndexRange", ReceiverIndexRange); + encoder.WriteNodeId("TargetNodeId", TargetNodeId); + encoder.WriteUInt32("AttributeId", AttributeId); + encoder.WriteString("WriteIndexRange", WriteIndexRange); + encoder.WriteEnumerated("OverrideValueHandling", OverrideValueHandling); + encoder.WriteVariant("OverrideValue", OverrideValue); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + DataSetFieldId = decoder.ReadGuid("DataSetFieldId"); + ReceiverIndexRange = decoder.ReadString("ReceiverIndexRange"); + TargetNodeId = decoder.ReadNodeId("TargetNodeId"); + AttributeId = decoder.ReadUInt32("AttributeId"); + WriteIndexRange = decoder.ReadString("WriteIndexRange"); + OverrideValueHandling = (OverrideValueHandling)decoder.ReadEnumerated("OverrideValueHandling", typeof(OverrideValueHandling)); + OverrideValue = decoder.ReadVariant("OverrideValue"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + FieldTargetDataType value = encodeable as FieldTargetDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_dataSetFieldId, value.m_dataSetFieldId)) return false; + if (!Utils.IsEqual(m_receiverIndexRange, value.m_receiverIndexRange)) return false; + if (!Utils.IsEqual(m_targetNodeId, value.m_targetNodeId)) return false; + if (!Utils.IsEqual(m_attributeId, value.m_attributeId)) return false; + if (!Utils.IsEqual(m_writeIndexRange, value.m_writeIndexRange)) return false; + if (!Utils.IsEqual(m_overrideValueHandling, value.m_overrideValueHandling)) return false; + if (!Utils.IsEqual(m_overrideValue, value.m_overrideValue)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (FieldTargetDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + FieldTargetDataType clone = (FieldTargetDataType)base.MemberwiseClone(); + + clone.m_dataSetFieldId = (Uuid)Utils.Clone(this.m_dataSetFieldId); + clone.m_receiverIndexRange = (string)Utils.Clone(this.m_receiverIndexRange); + clone.m_targetNodeId = (NodeId)Utils.Clone(this.m_targetNodeId); + clone.m_attributeId = (uint)Utils.Clone(this.m_attributeId); + clone.m_writeIndexRange = (string)Utils.Clone(this.m_writeIndexRange); + clone.m_overrideValueHandling = (OverrideValueHandling)Utils.Clone(this.m_overrideValueHandling); + clone.m_overrideValue = (Variant)Utils.Clone(this.m_overrideValue); + + return clone; + } + #endregion + + #region Private Fields + private Uuid m_dataSetFieldId; + private string m_receiverIndexRange; + private NodeId m_targetNodeId; + private uint m_attributeId; + private string m_writeIndexRange; + private OverrideValueHandling m_overrideValueHandling; + private Variant m_overrideValue; + #endregion } - #region UadpDataSetMessageContentMaskCollection Class + #region FieldTargetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUadpDataSetMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetMessageContentMask")] - public partial class UadpDataSetMessageContentMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfFieldTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "FieldTargetDataType")] + public partial class FieldTargetDataTypeCollection : List, ICloneable { #region Constructors /// - public UadpDataSetMessageContentMaskCollection() {} + public FieldTargetDataTypeCollection() {} /// - public UadpDataSetMessageContentMaskCollection(int capacity) : base(capacity) {} + public FieldTargetDataTypeCollection(int capacity) : base(capacity) {} /// - public UadpDataSetMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + public FieldTargetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UadpDataSetMessageContentMaskCollection(UadpDataSetMessageContentMask[] values) + public static implicit operator FieldTargetDataTypeCollection(FieldTargetDataType[] values) { if (values != null) { - return new UadpDataSetMessageContentMaskCollection(values); + return new FieldTargetDataTypeCollection(values); } - return new UadpDataSetMessageContentMaskCollection(); + return new FieldTargetDataTypeCollection(); } /// - public static explicit operator UadpDataSetMessageContentMask[](UadpDataSetMessageContentMaskCollection values) + public static explicit operator FieldTargetDataType[](FieldTargetDataTypeCollection values) { if (values != null) { @@ -17272,18 +17494,18 @@ public static explicit operator UadpDataSetMessageContentMask[](UadpDataSetMessa /// public object Clone() { - return (UadpDataSetMessageContentMaskCollection)this.MemberwiseClone(); + return (FieldTargetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UadpDataSetMessageContentMaskCollection clone = new UadpDataSetMessageContentMaskCollection(this.Count); + FieldTargetDataTypeCollection clone = new FieldTargetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UadpDataSetMessageContentMask)Utils.Clone(this[ii])); + clone.Add((FieldTargetDataType)Utils.Clone(this[ii])); } return clone; @@ -17293,17 +17515,105 @@ public object Clone() #endif #endregion - #region UadpDataSetWriterMessageDataType Class - #if (!OPCUA_EXCLUDE_UadpDataSetWriterMessageDataType) + #region OverrideValueHandling Enumeration + #if (!OPCUA_EXCLUDE_OverrideValueHandling) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UadpDataSetWriterMessageDataType : Opc.Ua.DataSetWriterMessageDataType + public enum OverrideValueHandling + { + /// + [EnumMember(Value = "Disabled_0")] + Disabled = 0, + + /// + [EnumMember(Value = "LastUsableValue_1")] + LastUsableValue = 1, + + /// + [EnumMember(Value = "OverrideValue_2")] + OverrideValue = 2, + } + + #region OverrideValueHandlingCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfOverrideValueHandling", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "OverrideValueHandling")] + public partial class OverrideValueHandlingCollection : List, ICloneable { #region Constructors /// - public UadpDataSetWriterMessageDataType() + public OverrideValueHandlingCollection() {} + + /// + public OverrideValueHandlingCollection(int capacity) : base(capacity) {} + + /// + public OverrideValueHandlingCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator OverrideValueHandlingCollection(OverrideValueHandling[] values) + { + if (values != null) + { + return new OverrideValueHandlingCollection(values); + } + + return new OverrideValueHandlingCollection(); + } + + /// + public static explicit operator OverrideValueHandling[](OverrideValueHandlingCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (OverrideValueHandlingCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + OverrideValueHandlingCollection clone = new OverrideValueHandlingCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((OverrideValueHandling)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region SubscribedDataSetMirrorDataType Class + #if (!OPCUA_EXCLUDE_SubscribedDataSetMirrorDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class SubscribedDataSetMirrorDataType : Opc.Ua.SubscribedDataSetDataType + { + #region Constructors + /// + public SubscribedDataSetMirrorDataType() { Initialize(); } @@ -17316,59 +17626,53 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_dataSetMessageContentMask = 0; - m_configuredSize = (ushort)0; - m_networkMessageNumber = (ushort)0; - m_dataSetOffset = (ushort)0; + m_parentNodeName = null; + m_rolePermissions = new RolePermissionTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 1)] - public uint DataSetMessageContentMask + [DataMember(Name = "ParentNodeName", IsRequired = false, Order = 1)] + public string ParentNodeName { - get { return m_dataSetMessageContentMask; } - set { m_dataSetMessageContentMask = value; } + get { return m_parentNodeName; } + set { m_parentNodeName = value; } } /// - [DataMember(Name = "ConfiguredSize", IsRequired = false, Order = 2)] - public ushort ConfiguredSize + [DataMember(Name = "RolePermissions", IsRequired = false, Order = 2)] + public RolePermissionTypeCollection RolePermissions { - get { return m_configuredSize; } - set { m_configuredSize = value; } - } + get + { + return m_rolePermissions; + } - /// - [DataMember(Name = "NetworkMessageNumber", IsRequired = false, Order = 3)] - public ushort NetworkMessageNumber - { - get { return m_networkMessageNumber; } - set { m_networkMessageNumber = value; } - } + set + { + m_rolePermissions = value; - /// - [DataMember(Name = "DataSetOffset", IsRequired = false, Order = 4)] - public ushort DataSetOffset - { - get { return m_dataSetOffset; } - set { m_dataSetOffset = value; } + if (value == null) + { + m_rolePermissions = new RolePermissionTypeCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.UadpDataSetWriterMessageDataType; + public override ExpandedNodeId TypeId => DataTypeIds.SubscribedDataSetMirrorDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -17377,10 +17681,8 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); - encoder.WriteUInt16("ConfiguredSize", ConfiguredSize); - encoder.WriteUInt16("NetworkMessageNumber", NetworkMessageNumber); - encoder.WriteUInt16("DataSetOffset", DataSetOffset); + encoder.WriteString("ParentNodeName", ParentNodeName); + encoder.WriteEncodeableArray("RolePermissions", RolePermissions.ToArray(), typeof(RolePermissionType)); encoder.PopNamespace(); } @@ -17392,10 +17694,8 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); - ConfiguredSize = decoder.ReadUInt16("ConfiguredSize"); - NetworkMessageNumber = decoder.ReadUInt16("NetworkMessageNumber"); - DataSetOffset = decoder.ReadUInt16("DataSetOffset"); + ParentNodeName = decoder.ReadString("ParentNodeName"); + RolePermissions = (RolePermissionTypeCollection)decoder.ReadEncodeableArray("RolePermissions", typeof(RolePermissionType)); decoder.PopNamespace(); } @@ -17408,17 +17708,15 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - UadpDataSetWriterMessageDataType value = encodeable as UadpDataSetWriterMessageDataType; + SubscribedDataSetMirrorDataType value = encodeable as SubscribedDataSetMirrorDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; - if (!Utils.IsEqual(m_configuredSize, value.m_configuredSize)) return false; - if (!Utils.IsEqual(m_networkMessageNumber, value.m_networkMessageNumber)) return false; - if (!Utils.IsEqual(m_dataSetOffset, value.m_dataSetOffset)) return false; + if (!Utils.IsEqual(m_parentNodeName, value.m_parentNodeName)) return false; + if (!Utils.IsEqual(m_rolePermissions, value.m_rolePermissions)) return false; return base.IsEqual(encodeable); } @@ -17426,63 +17724,59 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (UadpDataSetWriterMessageDataType)this.MemberwiseClone(); + return (SubscribedDataSetMirrorDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - UadpDataSetWriterMessageDataType clone = (UadpDataSetWriterMessageDataType)base.MemberwiseClone(); + SubscribedDataSetMirrorDataType clone = (SubscribedDataSetMirrorDataType)base.MemberwiseClone(); - clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); - clone.m_configuredSize = (ushort)Utils.Clone(this.m_configuredSize); - clone.m_networkMessageNumber = (ushort)Utils.Clone(this.m_networkMessageNumber); - clone.m_dataSetOffset = (ushort)Utils.Clone(this.m_dataSetOffset); + clone.m_parentNodeName = (string)Utils.Clone(this.m_parentNodeName); + clone.m_rolePermissions = (RolePermissionTypeCollection)Utils.Clone(this.m_rolePermissions); return clone; } #endregion #region Private Fields - private uint m_dataSetMessageContentMask; - private ushort m_configuredSize; - private ushort m_networkMessageNumber; - private ushort m_dataSetOffset; + private string m_parentNodeName; + private RolePermissionTypeCollection m_rolePermissions; #endregion } - #region UadpDataSetWriterMessageDataTypeCollection Class + #region SubscribedDataSetMirrorDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUadpDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetWriterMessageDataType")] - public partial class UadpDataSetWriterMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSubscribedDataSetMirrorDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SubscribedDataSetMirrorDataType")] + public partial class SubscribedDataSetMirrorDataTypeCollection : List, ICloneable { #region Constructors /// - public UadpDataSetWriterMessageDataTypeCollection() {} + public SubscribedDataSetMirrorDataTypeCollection() {} /// - public UadpDataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} + public SubscribedDataSetMirrorDataTypeCollection(int capacity) : base(capacity) {} /// - public UadpDataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public SubscribedDataSetMirrorDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UadpDataSetWriterMessageDataTypeCollection(UadpDataSetWriterMessageDataType[] values) + public static implicit operator SubscribedDataSetMirrorDataTypeCollection(SubscribedDataSetMirrorDataType[] values) { if (values != null) { - return new UadpDataSetWriterMessageDataTypeCollection(values); + return new SubscribedDataSetMirrorDataTypeCollection(values); } - return new UadpDataSetWriterMessageDataTypeCollection(); + return new SubscribedDataSetMirrorDataTypeCollection(); } /// - public static explicit operator UadpDataSetWriterMessageDataType[](UadpDataSetWriterMessageDataTypeCollection values) + public static explicit operator SubscribedDataSetMirrorDataType[](SubscribedDataSetMirrorDataTypeCollection values) { if (values != null) { @@ -17497,18 +17791,18 @@ public static explicit operator UadpDataSetWriterMessageDataType[](UadpDataSetWr /// public object Clone() { - return (UadpDataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); + return (SubscribedDataSetMirrorDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UadpDataSetWriterMessageDataTypeCollection clone = new UadpDataSetWriterMessageDataTypeCollection(this.Count); + SubscribedDataSetMirrorDataTypeCollection clone = new SubscribedDataSetMirrorDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UadpDataSetWriterMessageDataType)Utils.Clone(this[ii])); + clone.Add((SubscribedDataSetMirrorDataType)Utils.Clone(this[ii])); } return clone; @@ -17518,266 +17812,202 @@ public object Clone() #endif #endregion - #region UadpDataSetReaderMessageDataType Class - #if (!OPCUA_EXCLUDE_UadpDataSetReaderMessageDataType) + #region PubSubConfigurationDataType Class + #if (!OPCUA_EXCLUDE_PubSubConfigurationDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UadpDataSetReaderMessageDataType : Opc.Ua.DataSetReaderMessageDataType + public partial class PubSubConfigurationDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public UadpDataSetReaderMessageDataType() + public PubSubConfigurationDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_groupVersion = (uint)0; - m_networkMessageNumber = (ushort)0; - m_dataSetOffset = (ushort)0; - m_dataSetClassId = Uuid.Empty; - m_networkMessageContentMask = 0; - m_dataSetMessageContentMask = 0; - m_publishingInterval = (double)0; - m_receiveOffset = (double)0; - m_processingOffset = (double)0; + m_publishedDataSets = new PublishedDataSetDataTypeCollection(); + m_connections = new PubSubConnectionDataTypeCollection(); + m_enabled = true; } #endregion #region Public Properties /// - [DataMember(Name = "GroupVersion", IsRequired = false, Order = 1)] - public uint GroupVersion + [DataMember(Name = "PublishedDataSets", IsRequired = false, Order = 1)] + public PublishedDataSetDataTypeCollection PublishedDataSets { - get { return m_groupVersion; } - set { m_groupVersion = value; } - } + get + { + return m_publishedDataSets; + } - /// - [DataMember(Name = "NetworkMessageNumber", IsRequired = false, Order = 2)] - public ushort NetworkMessageNumber - { - get { return m_networkMessageNumber; } - set { m_networkMessageNumber = value; } + set + { + m_publishedDataSets = value; + + if (value == null) + { + m_publishedDataSets = new PublishedDataSetDataTypeCollection(); + } + } } /// - [DataMember(Name = "DataSetOffset", IsRequired = false, Order = 3)] - public ushort DataSetOffset - { - get { return m_dataSetOffset; } - set { m_dataSetOffset = value; } - } - - /// - [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 4)] - public Uuid DataSetClassId - { - get { return m_dataSetClassId; } - set { m_dataSetClassId = value; } - } - - /// - [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 5)] - public uint NetworkMessageContentMask - { - get { return m_networkMessageContentMask; } - set { m_networkMessageContentMask = value; } - } - - /// - [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 6)] - public uint DataSetMessageContentMask + [DataMember(Name = "Connections", IsRequired = false, Order = 2)] + public PubSubConnectionDataTypeCollection Connections { - get { return m_dataSetMessageContentMask; } - set { m_dataSetMessageContentMask = value; } - } + get + { + return m_connections; + } - /// - [DataMember(Name = "PublishingInterval", IsRequired = false, Order = 7)] - public double PublishingInterval - { - get { return m_publishingInterval; } - set { m_publishingInterval = value; } - } + set + { + m_connections = value; - /// - [DataMember(Name = "ReceiveOffset", IsRequired = false, Order = 8)] - public double ReceiveOffset - { - get { return m_receiveOffset; } - set { m_receiveOffset = value; } + if (value == null) + { + m_connections = new PubSubConnectionDataTypeCollection(); + } + } } /// - [DataMember(Name = "ProcessingOffset", IsRequired = false, Order = 9)] - public double ProcessingOffset + [DataMember(Name = "Enabled", IsRequired = false, Order = 3)] + public bool Enabled { - get { return m_processingOffset; } - set { m_processingOffset = value; } + get { return m_enabled; } + set { m_enabled = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.UadpDataSetReaderMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("GroupVersion", GroupVersion); - encoder.WriteUInt16("NetworkMessageNumber", NetworkMessageNumber); - encoder.WriteUInt16("DataSetOffset", DataSetOffset); - encoder.WriteGuid("DataSetClassId", DataSetClassId); - encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); - encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); - encoder.WriteDouble("PublishingInterval", PublishingInterval); - encoder.WriteDouble("ReceiveOffset", ReceiveOffset); - encoder.WriteDouble("ProcessingOffset", ProcessingOffset); + encoder.WriteEncodeableArray("PublishedDataSets", PublishedDataSets.ToArray(), typeof(PublishedDataSetDataType)); + encoder.WriteEncodeableArray("Connections", Connections.ToArray(), typeof(PubSubConnectionDataType)); + encoder.WriteBoolean("Enabled", Enabled); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - GroupVersion = decoder.ReadUInt32("GroupVersion"); - NetworkMessageNumber = decoder.ReadUInt16("NetworkMessageNumber"); - DataSetOffset = decoder.ReadUInt16("DataSetOffset"); - DataSetClassId = decoder.ReadGuid("DataSetClassId"); - NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); - DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); - PublishingInterval = decoder.ReadDouble("PublishingInterval"); - ReceiveOffset = decoder.ReadDouble("ReceiveOffset"); - ProcessingOffset = decoder.ReadDouble("ProcessingOffset"); + PublishedDataSets = (PublishedDataSetDataTypeCollection)decoder.ReadEncodeableArray("PublishedDataSets", typeof(PublishedDataSetDataType)); + Connections = (PubSubConnectionDataTypeCollection)decoder.ReadEncodeableArray("Connections", typeof(PubSubConnectionDataType)); + Enabled = decoder.ReadBoolean("Enabled"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - UadpDataSetReaderMessageDataType value = encodeable as UadpDataSetReaderMessageDataType; + PubSubConfigurationDataType value = encodeable as PubSubConfigurationDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_groupVersion, value.m_groupVersion)) return false; - if (!Utils.IsEqual(m_networkMessageNumber, value.m_networkMessageNumber)) return false; - if (!Utils.IsEqual(m_dataSetOffset, value.m_dataSetOffset)) return false; - if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; - if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; - if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; - if (!Utils.IsEqual(m_publishingInterval, value.m_publishingInterval)) return false; - if (!Utils.IsEqual(m_receiveOffset, value.m_receiveOffset)) return false; - if (!Utils.IsEqual(m_processingOffset, value.m_processingOffset)) return false; + if (!Utils.IsEqual(m_publishedDataSets, value.m_publishedDataSets)) return false; + if (!Utils.IsEqual(m_connections, value.m_connections)) return false; + if (!Utils.IsEqual(m_enabled, value.m_enabled)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (UadpDataSetReaderMessageDataType)this.MemberwiseClone(); + return (PubSubConfigurationDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - UadpDataSetReaderMessageDataType clone = (UadpDataSetReaderMessageDataType)base.MemberwiseClone(); + PubSubConfigurationDataType clone = (PubSubConfigurationDataType)base.MemberwiseClone(); - clone.m_groupVersion = (uint)Utils.Clone(this.m_groupVersion); - clone.m_networkMessageNumber = (ushort)Utils.Clone(this.m_networkMessageNumber); - clone.m_dataSetOffset = (ushort)Utils.Clone(this.m_dataSetOffset); - clone.m_dataSetClassId = (Uuid)Utils.Clone(this.m_dataSetClassId); - clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); - clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); - clone.m_publishingInterval = (double)Utils.Clone(this.m_publishingInterval); - clone.m_receiveOffset = (double)Utils.Clone(this.m_receiveOffset); - clone.m_processingOffset = (double)Utils.Clone(this.m_processingOffset); + clone.m_publishedDataSets = (PublishedDataSetDataTypeCollection)Utils.Clone(this.m_publishedDataSets); + clone.m_connections = (PubSubConnectionDataTypeCollection)Utils.Clone(this.m_connections); + clone.m_enabled = (bool)Utils.Clone(this.m_enabled); return clone; } #endregion #region Private Fields - private uint m_groupVersion; - private ushort m_networkMessageNumber; - private ushort m_dataSetOffset; - private Uuid m_dataSetClassId; - private uint m_networkMessageContentMask; - private uint m_dataSetMessageContentMask; - private double m_publishingInterval; - private double m_receiveOffset; - private double m_processingOffset; + private PublishedDataSetDataTypeCollection m_publishedDataSets; + private PubSubConnectionDataTypeCollection m_connections; + private bool m_enabled; #endregion } - #region UadpDataSetReaderMessageDataTypeCollection Class + #region PubSubConfigurationDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUadpDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetReaderMessageDataType")] - public partial class UadpDataSetReaderMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPubSubConfigurationDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationDataType")] + public partial class PubSubConfigurationDataTypeCollection : List, ICloneable { #region Constructors /// - public UadpDataSetReaderMessageDataTypeCollection() {} + public PubSubConfigurationDataTypeCollection() {} /// - public UadpDataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} + public PubSubConfigurationDataTypeCollection(int capacity) : base(capacity) {} /// - public UadpDataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public PubSubConfigurationDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UadpDataSetReaderMessageDataTypeCollection(UadpDataSetReaderMessageDataType[] values) + public static implicit operator PubSubConfigurationDataTypeCollection(PubSubConfigurationDataType[] values) { if (values != null) { - return new UadpDataSetReaderMessageDataTypeCollection(values); + return new PubSubConfigurationDataTypeCollection(values); } - return new UadpDataSetReaderMessageDataTypeCollection(); + return new PubSubConfigurationDataTypeCollection(); } /// - public static explicit operator UadpDataSetReaderMessageDataType[](UadpDataSetReaderMessageDataTypeCollection values) + public static explicit operator PubSubConfigurationDataType[](PubSubConfigurationDataTypeCollection values) { if (values != null) { @@ -17792,18 +18022,18 @@ public static explicit operator UadpDataSetReaderMessageDataType[](UadpDataSetRe /// public object Clone() { - return (UadpDataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); + return (PubSubConfigurationDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UadpDataSetReaderMessageDataTypeCollection clone = new UadpDataSetReaderMessageDataTypeCollection(this.Count); + PubSubConfigurationDataTypeCollection clone = new PubSubConfigurationDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UadpDataSetReaderMessageDataType)Utils.Clone(this[ii])); + clone.Add((PubSubConfigurationDataType)Utils.Clone(this[ii])); } return clone; @@ -17813,79 +18043,154 @@ public object Clone() #endif #endregion - #region JsonNetworkMessageContentMask Enumeration - #if (!OPCUA_EXCLUDE_JsonNetworkMessageContentMask) + #region StandaloneSubscribedDataSetRefDataType Class + #if (!OPCUA_EXCLUDE_StandaloneSubscribedDataSetRefDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum JsonNetworkMessageContentMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class StandaloneSubscribedDataSetRefDataType : Opc.Ua.SubscribedDataSetDataType { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, + public StandaloneSubscribedDataSetRefDataType() + { + Initialize(); + } - /// - [EnumMember(Value = "NetworkMessageHeader_1")] - NetworkMessageHeader = 1, + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } - /// - [EnumMember(Value = "DataSetMessageHeader_2")] - DataSetMessageHeader = 2, + private void Initialize() + { + m_dataSetName = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "SingleDataSetMessage_4")] - SingleDataSetMessage = 4, + [DataMember(Name = "DataSetName", IsRequired = false, Order = 1)] + public string DataSetName + { + get { return m_dataSetName; } + set { m_dataSetName = value; } + } + #endregion - /// - [EnumMember(Value = "PublisherId_8")] - PublisherId = 8, + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.StandaloneSubscribedDataSetRefDataType; - /// - [EnumMember(Value = "DataSetClassId_16")] - DataSetClassId = 16, + /// + public override ExpandedNodeId BinaryEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultBinary; - /// - [EnumMember(Value = "ReplyTo_32")] - ReplyTo = 32, + /// + public override ExpandedNodeId XmlEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultXml; + + /// + public override ExpandedNodeId JsonEncodingId => ObjectIds.StandaloneSubscribedDataSetRefDataType_Encoding_DefaultJson; - /// - [EnumMember(Value = "WriterGroupName_64")] - WriterGroupName = 64, + /// + public override void Encode(IEncoder encoder) + { + base.Encode(encoder); + + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("DataSetName", DataSetName); + + encoder.PopNamespace(); + } + + /// + public override void Decode(IDecoder decoder) + { + base.Decode(decoder); + + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + DataSetName = decoder.ReadString("DataSetName"); + + decoder.PopNamespace(); + } + + /// + public override bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + StandaloneSubscribedDataSetRefDataType value = encodeable as StandaloneSubscribedDataSetRefDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_dataSetName, value.m_dataSetName)) return false; + + return base.IsEqual(encodeable); + } + + /// + public override object Clone() + { + return (StandaloneSubscribedDataSetRefDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + StandaloneSubscribedDataSetRefDataType clone = (StandaloneSubscribedDataSetRefDataType)base.MemberwiseClone(); + + clone.m_dataSetName = (string)Utils.Clone(this.m_dataSetName); + + return clone; + } + #endregion + + #region Private Fields + private string m_dataSetName; + #endregion } - #region JsonNetworkMessageContentMaskCollection Class + #region StandaloneSubscribedDataSetRefDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfJsonNetworkMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonNetworkMessageContentMask")] - public partial class JsonNetworkMessageContentMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfStandaloneSubscribedDataSetRefDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StandaloneSubscribedDataSetRefDataType")] + public partial class StandaloneSubscribedDataSetRefDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonNetworkMessageContentMaskCollection() {} + public StandaloneSubscribedDataSetRefDataTypeCollection() {} /// - public JsonNetworkMessageContentMaskCollection(int capacity) : base(capacity) {} + public StandaloneSubscribedDataSetRefDataTypeCollection(int capacity) : base(capacity) {} /// - public JsonNetworkMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + public StandaloneSubscribedDataSetRefDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator JsonNetworkMessageContentMaskCollection(JsonNetworkMessageContentMask[] values) + public static implicit operator StandaloneSubscribedDataSetRefDataTypeCollection(StandaloneSubscribedDataSetRefDataType[] values) { if (values != null) { - return new JsonNetworkMessageContentMaskCollection(values); + return new StandaloneSubscribedDataSetRefDataTypeCollection(values); } - return new JsonNetworkMessageContentMaskCollection(); + return new StandaloneSubscribedDataSetRefDataTypeCollection(); } /// - public static explicit operator JsonNetworkMessageContentMask[](JsonNetworkMessageContentMaskCollection values) + public static explicit operator StandaloneSubscribedDataSetRefDataType[](StandaloneSubscribedDataSetRefDataTypeCollection values) { if (values != null) { @@ -17900,18 +18205,18 @@ public static explicit operator JsonNetworkMessageContentMask[](JsonNetworkMessa /// public object Clone() { - return (JsonNetworkMessageContentMaskCollection)this.MemberwiseClone(); + return (StandaloneSubscribedDataSetRefDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - JsonNetworkMessageContentMaskCollection clone = new JsonNetworkMessageContentMaskCollection(this.Count); + StandaloneSubscribedDataSetRefDataTypeCollection clone = new StandaloneSubscribedDataSetRefDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((JsonNetworkMessageContentMask)Utils.Clone(this[ii])); + clone.Add((StandaloneSubscribedDataSetRefDataType)Utils.Clone(this[ii])); } return clone; @@ -17921,17 +18226,17 @@ public object Clone() #endif #endregion - #region JsonWriterGroupMessageDataType Class - #if (!OPCUA_EXCLUDE_JsonWriterGroupMessageDataType) + #region StandaloneSubscribedDataSetDataType Class + #if (!OPCUA_EXCLUDE_StandaloneSubscribedDataSetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonWriterGroupMessageDataType : Opc.Ua.WriterGroupMessageDataType + public partial class StandaloneSubscribedDataSetDataType : Opc.Ua.SubscribedDataSetDataType { #region Constructors /// - public JsonWriterGroupMessageDataType() + public StandaloneSubscribedDataSetDataType() { Initialize(); } @@ -17944,32 +18249,83 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_networkMessageContentMask = 0; + m_name = null; + m_dataSetFolder = new StringCollection(); + m_dataSetMetaData = new DataSetMetaDataType(); + m_subscribedDataSet = null; } #endregion #region Public Properties /// - [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 1)] - public uint NetworkMessageContentMask + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name { - get { return m_networkMessageContentMask; } - set { m_networkMessageContentMask = value; } + get { return m_name; } + set { m_name = value; } + } + + /// + [DataMember(Name = "DataSetFolder", IsRequired = false, Order = 2)] + public StringCollection DataSetFolder + { + get + { + return m_dataSetFolder; + } + + set + { + m_dataSetFolder = value; + + if (value == null) + { + m_dataSetFolder = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "DataSetMetaData", IsRequired = false, Order = 3)] + public DataSetMetaDataType DataSetMetaData + { + get + { + return m_dataSetMetaData; + } + + set + { + m_dataSetMetaData = value; + + if (value == null) + { + m_dataSetMetaData = new DataSetMetaDataType(); + } + } + } + + /// + [DataMember(Name = "SubscribedDataSet", IsRequired = false, Order = 4)] + public ExtensionObject SubscribedDataSet + { + get { return m_subscribedDataSet; } + set { m_subscribedDataSet = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.JsonWriterGroupMessageDataType; + public override ExpandedNodeId TypeId => DataTypeIds.StandaloneSubscribedDataSetDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.StandaloneSubscribedDataSetDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -17978,7 +18334,10 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); + encoder.WriteString("Name", Name); + encoder.WriteStringArray("DataSetFolder", DataSetFolder); + encoder.WriteEncodeable("DataSetMetaData", DataSetMetaData, typeof(DataSetMetaDataType)); + encoder.WriteExtensionObject("SubscribedDataSet", SubscribedDataSet); encoder.PopNamespace(); } @@ -17990,7 +18349,10 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); + Name = decoder.ReadString("Name"); + DataSetFolder = decoder.ReadStringArray("DataSetFolder"); + DataSetMetaData = (DataSetMetaDataType)decoder.ReadEncodeable("DataSetMetaData", typeof(DataSetMetaDataType)); + SubscribedDataSet = decoder.ReadExtensionObject("SubscribedDataSet"); decoder.PopNamespace(); } @@ -18003,14 +18365,17 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - JsonWriterGroupMessageDataType value = encodeable as JsonWriterGroupMessageDataType; + StandaloneSubscribedDataSetDataType value = encodeable as StandaloneSubscribedDataSetDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_dataSetFolder, value.m_dataSetFolder)) return false; + if (!Utils.IsEqual(m_dataSetMetaData, value.m_dataSetMetaData)) return false; + if (!Utils.IsEqual(m_subscribedDataSet, value.m_subscribedDataSet)) return false; return base.IsEqual(encodeable); } @@ -18018,57 +18383,63 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (JsonWriterGroupMessageDataType)this.MemberwiseClone(); + return (StandaloneSubscribedDataSetDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonWriterGroupMessageDataType clone = (JsonWriterGroupMessageDataType)base.MemberwiseClone(); + StandaloneSubscribedDataSetDataType clone = (StandaloneSubscribedDataSetDataType)base.MemberwiseClone(); - clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_dataSetFolder = (StringCollection)Utils.Clone(this.m_dataSetFolder); + clone.m_dataSetMetaData = (DataSetMetaDataType)Utils.Clone(this.m_dataSetMetaData); + clone.m_subscribedDataSet = (ExtensionObject)Utils.Clone(this.m_subscribedDataSet); return clone; } #endregion #region Private Fields - private uint m_networkMessageContentMask; + private string m_name; + private StringCollection m_dataSetFolder; + private DataSetMetaDataType m_dataSetMetaData; + private ExtensionObject m_subscribedDataSet; #endregion } - #region JsonWriterGroupMessageDataTypeCollection Class + #region StandaloneSubscribedDataSetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfJsonWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonWriterGroupMessageDataType")] - public partial class JsonWriterGroupMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfStandaloneSubscribedDataSetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "StandaloneSubscribedDataSetDataType")] + public partial class StandaloneSubscribedDataSetDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonWriterGroupMessageDataTypeCollection() {} + public StandaloneSubscribedDataSetDataTypeCollection() {} /// - public JsonWriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} + public StandaloneSubscribedDataSetDataTypeCollection(int capacity) : base(capacity) {} /// - public JsonWriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public StandaloneSubscribedDataSetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator JsonWriterGroupMessageDataTypeCollection(JsonWriterGroupMessageDataType[] values) + public static implicit operator StandaloneSubscribedDataSetDataTypeCollection(StandaloneSubscribedDataSetDataType[] values) { if (values != null) { - return new JsonWriterGroupMessageDataTypeCollection(values); + return new StandaloneSubscribedDataSetDataTypeCollection(values); } - return new JsonWriterGroupMessageDataTypeCollection(); + return new StandaloneSubscribedDataSetDataTypeCollection(); } /// - public static explicit operator JsonWriterGroupMessageDataType[](JsonWriterGroupMessageDataTypeCollection values) + public static explicit operator StandaloneSubscribedDataSetDataType[](StandaloneSubscribedDataSetDataTypeCollection values) { if (values != null) { @@ -18083,18 +18454,18 @@ public static explicit operator JsonWriterGroupMessageDataType[](JsonWriterGroup /// public object Clone() { - return (JsonWriterGroupMessageDataTypeCollection)this.MemberwiseClone(); + return (StandaloneSubscribedDataSetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - JsonWriterGroupMessageDataTypeCollection clone = new JsonWriterGroupMessageDataTypeCollection(this.Count); + StandaloneSubscribedDataSetDataTypeCollection clone = new StandaloneSubscribedDataSetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((JsonWriterGroupMessageDataType)Utils.Clone(this[ii])); + clone.Add((StandaloneSubscribedDataSetDataType)Utils.Clone(this[ii])); } return clone; @@ -18104,99 +18475,298 @@ public object Clone() #endif #endregion - #region JsonDataSetMessageContentMask Enumeration - #if (!OPCUA_EXCLUDE_JsonDataSetMessageContentMask) + #region SecurityGroupDataType Class + #if (!OPCUA_EXCLUDE_SecurityGroupDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum JsonDataSetMessageContentMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class SecurityGroupDataType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, + public SecurityGroupDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_name = null; + m_securityGroupFolder = new StringCollection(); + m_keyLifetime = (double)0; + m_securityPolicyUri = null; + m_maxFutureKeyCount = (uint)0; + m_maxPastKeyCount = (uint)0; + m_securityGroupId = null; + m_rolePermissions = new RolePermissionTypeCollection(); + m_groupProperties = new KeyValuePairCollection(); + } + #endregion + #region Public Properties /// - [EnumMember(Value = "DataSetWriterId_1")] - DataSetWriterId = 1, + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name + { + get { return m_name; } + set { m_name = value; } + } /// - [EnumMember(Value = "MetaDataVersion_2")] - MetaDataVersion = 2, + [DataMember(Name = "SecurityGroupFolder", IsRequired = false, Order = 2)] + public StringCollection SecurityGroupFolder + { + get + { + return m_securityGroupFolder; + } - /// - [EnumMember(Value = "SequenceNumber_4")] - SequenceNumber = 4, + set + { + m_securityGroupFolder = value; - /// - [EnumMember(Value = "Timestamp_8")] - Timestamp = 8, + if (value == null) + { + m_securityGroupFolder = new StringCollection(); + } + } + } /// - [EnumMember(Value = "Status_16")] - Status = 16, + [DataMember(Name = "KeyLifetime", IsRequired = false, Order = 3)] + public double KeyLifetime + { + get { return m_keyLifetime; } + set { m_keyLifetime = value; } + } /// - [EnumMember(Value = "MessageType_32")] - MessageType = 32, + [DataMember(Name = "SecurityPolicyUri", IsRequired = false, Order = 4)] + public string SecurityPolicyUri + { + get { return m_securityPolicyUri; } + set { m_securityPolicyUri = value; } + } /// - [EnumMember(Value = "DataSetWriterName_64")] - DataSetWriterName = 64, + [DataMember(Name = "MaxFutureKeyCount", IsRequired = false, Order = 5)] + public uint MaxFutureKeyCount + { + get { return m_maxFutureKeyCount; } + set { m_maxFutureKeyCount = value; } + } /// - [EnumMember(Value = "FieldEncoding1_128")] - FieldEncoding1 = 128, + [DataMember(Name = "MaxPastKeyCount", IsRequired = false, Order = 6)] + public uint MaxPastKeyCount + { + get { return m_maxPastKeyCount; } + set { m_maxPastKeyCount = value; } + } /// - [EnumMember(Value = "PublisherId_256")] - PublisherId = 256, + [DataMember(Name = "SecurityGroupId", IsRequired = false, Order = 7)] + public string SecurityGroupId + { + get { return m_securityGroupId; } + set { m_securityGroupId = value; } + } /// - [EnumMember(Value = "WriterGroupName_512")] - WriterGroupName = 512, + [DataMember(Name = "RolePermissions", IsRequired = false, Order = 8)] + public RolePermissionTypeCollection RolePermissions + { + get + { + return m_rolePermissions; + } - /// - [EnumMember(Value = "MinorVersion_1024")] - MinorVersion = 1024, + set + { + m_rolePermissions = value; + + if (value == null) + { + m_rolePermissions = new RolePermissionTypeCollection(); + } + } + } /// - [EnumMember(Value = "FieldEncoding2_2048")] - FieldEncoding2 = 2048, + [DataMember(Name = "GroupProperties", IsRequired = false, Order = 9)] + public KeyValuePairCollection GroupProperties + { + get + { + return m_groupProperties; + } + + set + { + m_groupProperties = value; + + if (value == null) + { + m_groupProperties = new KeyValuePairCollection(); + } + } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.SecurityGroupDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.SecurityGroupDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("Name", Name); + encoder.WriteStringArray("SecurityGroupFolder", SecurityGroupFolder); + encoder.WriteDouble("KeyLifetime", KeyLifetime); + encoder.WriteString("SecurityPolicyUri", SecurityPolicyUri); + encoder.WriteUInt32("MaxFutureKeyCount", MaxFutureKeyCount); + encoder.WriteUInt32("MaxPastKeyCount", MaxPastKeyCount); + encoder.WriteString("SecurityGroupId", SecurityGroupId); + encoder.WriteEncodeableArray("RolePermissions", RolePermissions.ToArray(), typeof(RolePermissionType)); + encoder.WriteEncodeableArray("GroupProperties", GroupProperties.ToArray(), typeof(KeyValuePair)); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + Name = decoder.ReadString("Name"); + SecurityGroupFolder = decoder.ReadStringArray("SecurityGroupFolder"); + KeyLifetime = decoder.ReadDouble("KeyLifetime"); + SecurityPolicyUri = decoder.ReadString("SecurityPolicyUri"); + MaxFutureKeyCount = decoder.ReadUInt32("MaxFutureKeyCount"); + MaxPastKeyCount = decoder.ReadUInt32("MaxPastKeyCount"); + SecurityGroupId = decoder.ReadString("SecurityGroupId"); + RolePermissions = (RolePermissionTypeCollection)decoder.ReadEncodeableArray("RolePermissions", typeof(RolePermissionType)); + GroupProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("GroupProperties", typeof(KeyValuePair)); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + SecurityGroupDataType value = encodeable as SecurityGroupDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_securityGroupFolder, value.m_securityGroupFolder)) return false; + if (!Utils.IsEqual(m_keyLifetime, value.m_keyLifetime)) return false; + if (!Utils.IsEqual(m_securityPolicyUri, value.m_securityPolicyUri)) return false; + if (!Utils.IsEqual(m_maxFutureKeyCount, value.m_maxFutureKeyCount)) return false; + if (!Utils.IsEqual(m_maxPastKeyCount, value.m_maxPastKeyCount)) return false; + if (!Utils.IsEqual(m_securityGroupId, value.m_securityGroupId)) return false; + if (!Utils.IsEqual(m_rolePermissions, value.m_rolePermissions)) return false; + if (!Utils.IsEqual(m_groupProperties, value.m_groupProperties)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (SecurityGroupDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + SecurityGroupDataType clone = (SecurityGroupDataType)base.MemberwiseClone(); + + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_securityGroupFolder = (StringCollection)Utils.Clone(this.m_securityGroupFolder); + clone.m_keyLifetime = (double)Utils.Clone(this.m_keyLifetime); + clone.m_securityPolicyUri = (string)Utils.Clone(this.m_securityPolicyUri); + clone.m_maxFutureKeyCount = (uint)Utils.Clone(this.m_maxFutureKeyCount); + clone.m_maxPastKeyCount = (uint)Utils.Clone(this.m_maxPastKeyCount); + clone.m_securityGroupId = (string)Utils.Clone(this.m_securityGroupId); + clone.m_rolePermissions = (RolePermissionTypeCollection)Utils.Clone(this.m_rolePermissions); + clone.m_groupProperties = (KeyValuePairCollection)Utils.Clone(this.m_groupProperties); + + return clone; + } + #endregion + + #region Private Fields + private string m_name; + private StringCollection m_securityGroupFolder; + private double m_keyLifetime; + private string m_securityPolicyUri; + private uint m_maxFutureKeyCount; + private uint m_maxPastKeyCount; + private string m_securityGroupId; + private RolePermissionTypeCollection m_rolePermissions; + private KeyValuePairCollection m_groupProperties; + #endregion } - #region JsonDataSetMessageContentMaskCollection Class + #region SecurityGroupDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfJsonDataSetMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetMessageContentMask")] - public partial class JsonDataSetMessageContentMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSecurityGroupDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SecurityGroupDataType")] + public partial class SecurityGroupDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonDataSetMessageContentMaskCollection() {} + public SecurityGroupDataTypeCollection() {} /// - public JsonDataSetMessageContentMaskCollection(int capacity) : base(capacity) {} + public SecurityGroupDataTypeCollection(int capacity) : base(capacity) {} /// - public JsonDataSetMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + public SecurityGroupDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator JsonDataSetMessageContentMaskCollection(JsonDataSetMessageContentMask[] values) + public static implicit operator SecurityGroupDataTypeCollection(SecurityGroupDataType[] values) { if (values != null) { - return new JsonDataSetMessageContentMaskCollection(values); + return new SecurityGroupDataTypeCollection(values); } - return new JsonDataSetMessageContentMaskCollection(); + return new SecurityGroupDataTypeCollection(); } /// - public static explicit operator JsonDataSetMessageContentMask[](JsonDataSetMessageContentMaskCollection values) + public static explicit operator SecurityGroupDataType[](SecurityGroupDataTypeCollection values) { if (values != null) { @@ -18211,18 +18781,18 @@ public static explicit operator JsonDataSetMessageContentMask[](JsonDataSetMessa /// public object Clone() { - return (JsonDataSetMessageContentMaskCollection)this.MemberwiseClone(); + return (SecurityGroupDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - JsonDataSetMessageContentMaskCollection clone = new JsonDataSetMessageContentMaskCollection(this.Count); + SecurityGroupDataTypeCollection clone = new SecurityGroupDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((JsonDataSetMessageContentMask)Utils.Clone(this[ii])); + clone.Add((SecurityGroupDataType)Utils.Clone(this[ii])); } return clone; @@ -18232,154 +18802,310 @@ public object Clone() #endif #endregion - #region JsonDataSetWriterMessageDataType Class - #if (!OPCUA_EXCLUDE_JsonDataSetWriterMessageDataType) + #region PubSubKeyPushTargetDataType Class + #if (!OPCUA_EXCLUDE_PubSubKeyPushTargetDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonDataSetWriterMessageDataType : Opc.Ua.DataSetWriterMessageDataType + public partial class PubSubKeyPushTargetDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonDataSetWriterMessageDataType() + public PubSubKeyPushTargetDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_dataSetMessageContentMask = 0; + m_applicationUri = null; + m_pushTargetFolder = new StringCollection(); + m_endpointUrl = null; + m_securityPolicyUri = null; + m_userTokenType = new UserTokenPolicy(); + m_requestedKeyCount = (ushort)0; + m_retryInterval = (double)0; + m_pushTargetProperties = new KeyValuePairCollection(); + m_securityGroups = new StringCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 1)] - public uint DataSetMessageContentMask + [DataMember(Name = "ApplicationUri", IsRequired = false, Order = 1)] + public string ApplicationUri { - get { return m_dataSetMessageContentMask; } - set { m_dataSetMessageContentMask = value; } + get { return m_applicationUri; } + set { m_applicationUri = value; } + } + + /// + [DataMember(Name = "PushTargetFolder", IsRequired = false, Order = 2)] + public StringCollection PushTargetFolder + { + get + { + return m_pushTargetFolder; + } + + set + { + m_pushTargetFolder = value; + + if (value == null) + { + m_pushTargetFolder = new StringCollection(); + } + } + } + + /// + [DataMember(Name = "EndpointUrl", IsRequired = false, Order = 3)] + public string EndpointUrl + { + get { return m_endpointUrl; } + set { m_endpointUrl = value; } + } + + /// + [DataMember(Name = "SecurityPolicyUri", IsRequired = false, Order = 4)] + public string SecurityPolicyUri + { + get { return m_securityPolicyUri; } + set { m_securityPolicyUri = value; } + } + + /// + [DataMember(Name = "UserTokenType", IsRequired = false, Order = 5)] + public UserTokenPolicy UserTokenType + { + get + { + return m_userTokenType; + } + + set + { + m_userTokenType = value; + + if (value == null) + { + m_userTokenType = new UserTokenPolicy(); + } + } + } + + /// + [DataMember(Name = "RequestedKeyCount", IsRequired = false, Order = 6)] + public ushort RequestedKeyCount + { + get { return m_requestedKeyCount; } + set { m_requestedKeyCount = value; } + } + + /// + [DataMember(Name = "RetryInterval", IsRequired = false, Order = 7)] + public double RetryInterval + { + get { return m_retryInterval; } + set { m_retryInterval = value; } + } + + /// + [DataMember(Name = "PushTargetProperties", IsRequired = false, Order = 8)] + public KeyValuePairCollection PushTargetProperties + { + get + { + return m_pushTargetProperties; + } + + set + { + m_pushTargetProperties = value; + + if (value == null) + { + m_pushTargetProperties = new KeyValuePairCollection(); + } + } + } + + /// + [DataMember(Name = "SecurityGroups", IsRequired = false, Order = 9)] + public StringCollection SecurityGroups + { + get + { + return m_securityGroups; + } + + set + { + m_securityGroups = value; + + if (value == null) + { + m_securityGroups = new StringCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.JsonDataSetWriterMessageDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubKeyPushTargetDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubKeyPushTargetDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); + encoder.WriteString("ApplicationUri", ApplicationUri); + encoder.WriteStringArray("PushTargetFolder", PushTargetFolder); + encoder.WriteString("EndpointUrl", EndpointUrl); + encoder.WriteString("SecurityPolicyUri", SecurityPolicyUri); + encoder.WriteEncodeable("UserTokenType", UserTokenType, typeof(UserTokenPolicy)); + encoder.WriteUInt16("RequestedKeyCount", RequestedKeyCount); + encoder.WriteDouble("RetryInterval", RetryInterval); + encoder.WriteEncodeableArray("PushTargetProperties", PushTargetProperties.ToArray(), typeof(KeyValuePair)); + encoder.WriteStringArray("SecurityGroups", SecurityGroups); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); + ApplicationUri = decoder.ReadString("ApplicationUri"); + PushTargetFolder = decoder.ReadStringArray("PushTargetFolder"); + EndpointUrl = decoder.ReadString("EndpointUrl"); + SecurityPolicyUri = decoder.ReadString("SecurityPolicyUri"); + UserTokenType = (UserTokenPolicy)decoder.ReadEncodeable("UserTokenType", typeof(UserTokenPolicy)); + RequestedKeyCount = decoder.ReadUInt16("RequestedKeyCount"); + RetryInterval = decoder.ReadDouble("RetryInterval"); + PushTargetProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("PushTargetProperties", typeof(KeyValuePair)); + SecurityGroups = decoder.ReadStringArray("SecurityGroups"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - JsonDataSetWriterMessageDataType value = encodeable as JsonDataSetWriterMessageDataType; + PubSubKeyPushTargetDataType value = encodeable as PubSubKeyPushTargetDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; + if (!Utils.IsEqual(m_applicationUri, value.m_applicationUri)) return false; + if (!Utils.IsEqual(m_pushTargetFolder, value.m_pushTargetFolder)) return false; + if (!Utils.IsEqual(m_endpointUrl, value.m_endpointUrl)) return false; + if (!Utils.IsEqual(m_securityPolicyUri, value.m_securityPolicyUri)) return false; + if (!Utils.IsEqual(m_userTokenType, value.m_userTokenType)) return false; + if (!Utils.IsEqual(m_requestedKeyCount, value.m_requestedKeyCount)) return false; + if (!Utils.IsEqual(m_retryInterval, value.m_retryInterval)) return false; + if (!Utils.IsEqual(m_pushTargetProperties, value.m_pushTargetProperties)) return false; + if (!Utils.IsEqual(m_securityGroups, value.m_securityGroups)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (JsonDataSetWriterMessageDataType)this.MemberwiseClone(); + return (PubSubKeyPushTargetDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonDataSetWriterMessageDataType clone = (JsonDataSetWriterMessageDataType)base.MemberwiseClone(); + PubSubKeyPushTargetDataType clone = (PubSubKeyPushTargetDataType)base.MemberwiseClone(); - clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); + clone.m_applicationUri = (string)Utils.Clone(this.m_applicationUri); + clone.m_pushTargetFolder = (StringCollection)Utils.Clone(this.m_pushTargetFolder); + clone.m_endpointUrl = (string)Utils.Clone(this.m_endpointUrl); + clone.m_securityPolicyUri = (string)Utils.Clone(this.m_securityPolicyUri); + clone.m_userTokenType = (UserTokenPolicy)Utils.Clone(this.m_userTokenType); + clone.m_requestedKeyCount = (ushort)Utils.Clone(this.m_requestedKeyCount); + clone.m_retryInterval = (double)Utils.Clone(this.m_retryInterval); + clone.m_pushTargetProperties = (KeyValuePairCollection)Utils.Clone(this.m_pushTargetProperties); + clone.m_securityGroups = (StringCollection)Utils.Clone(this.m_securityGroups); return clone; } #endregion #region Private Fields - private uint m_dataSetMessageContentMask; + private string m_applicationUri; + private StringCollection m_pushTargetFolder; + private string m_endpointUrl; + private string m_securityPolicyUri; + private UserTokenPolicy m_userTokenType; + private ushort m_requestedKeyCount; + private double m_retryInterval; + private KeyValuePairCollection m_pushTargetProperties; + private StringCollection m_securityGroups; #endregion } - #region JsonDataSetWriterMessageDataTypeCollection Class + #region PubSubKeyPushTargetDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfJsonDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetWriterMessageDataType")] - public partial class JsonDataSetWriterMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPubSubKeyPushTargetDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubKeyPushTargetDataType")] + public partial class PubSubKeyPushTargetDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonDataSetWriterMessageDataTypeCollection() {} + public PubSubKeyPushTargetDataTypeCollection() {} /// - public JsonDataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} + public PubSubKeyPushTargetDataTypeCollection(int capacity) : base(capacity) {} /// - public JsonDataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public PubSubKeyPushTargetDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator JsonDataSetWriterMessageDataTypeCollection(JsonDataSetWriterMessageDataType[] values) + public static implicit operator PubSubKeyPushTargetDataTypeCollection(PubSubKeyPushTargetDataType[] values) { if (values != null) { - return new JsonDataSetWriterMessageDataTypeCollection(values); + return new PubSubKeyPushTargetDataTypeCollection(values); } - return new JsonDataSetWriterMessageDataTypeCollection(); + return new PubSubKeyPushTargetDataTypeCollection(); } /// - public static explicit operator JsonDataSetWriterMessageDataType[](JsonDataSetWriterMessageDataTypeCollection values) + public static explicit operator PubSubKeyPushTargetDataType[](PubSubKeyPushTargetDataTypeCollection values) { if (values != null) { @@ -18394,18 +19120,18 @@ public static explicit operator JsonDataSetWriterMessageDataType[](JsonDataSetWr /// public object Clone() { - return (JsonDataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); + return (PubSubKeyPushTargetDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - JsonDataSetWriterMessageDataTypeCollection clone = new JsonDataSetWriterMessageDataTypeCollection(this.Count); + PubSubKeyPushTargetDataTypeCollection clone = new PubSubKeyPushTargetDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((JsonDataSetWriterMessageDataType)Utils.Clone(this[ii])); + clone.Add((PubSubKeyPushTargetDataType)Utils.Clone(this[ii])); } return clone; @@ -18415,17 +19141,17 @@ public object Clone() #endif #endregion - #region JsonDataSetReaderMessageDataType Class - #if (!OPCUA_EXCLUDE_JsonDataSetReaderMessageDataType) + #region PubSubConfiguration2DataType Class + #if (!OPCUA_EXCLUDE_PubSubConfiguration2DataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonDataSetReaderMessageDataType : Opc.Ua.DataSetReaderMessageDataType + public partial class PubSubConfiguration2DataType : Opc.Ua.PubSubConfigurationDataType { #region Constructors /// - public JsonDataSetReaderMessageDataType() + public PubSubConfiguration2DataType() { Initialize(); } @@ -18438,41 +19164,158 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_networkMessageContentMask = 0; - m_dataSetMessageContentMask = 0; - } - #endregion - - #region Public Properties - /// - [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 1)] - public uint NetworkMessageContentMask + m_subscribedDataSets = new StandaloneSubscribedDataSetDataTypeCollection(); + m_dataSetClasses = new DataSetMetaDataTypeCollection(); + m_defaultSecurityKeyServices = new EndpointDescriptionCollection(); + m_securityGroups = new SecurityGroupDataTypeCollection(); + m_pubSubKeyPushTargets = new PubSubKeyPushTargetDataTypeCollection(); + m_configurationVersion = (uint)0; + m_configurationProperties = new KeyValuePairCollection(); + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "SubscribedDataSets", IsRequired = false, Order = 1)] + public StandaloneSubscribedDataSetDataTypeCollection SubscribedDataSets { - get { return m_networkMessageContentMask; } - set { m_networkMessageContentMask = value; } + get + { + return m_subscribedDataSets; + } + + set + { + m_subscribedDataSets = value; + + if (value == null) + { + m_subscribedDataSets = new StandaloneSubscribedDataSetDataTypeCollection(); + } + } } /// - [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 2)] - public uint DataSetMessageContentMask + [DataMember(Name = "DataSetClasses", IsRequired = false, Order = 2)] + public DataSetMetaDataTypeCollection DataSetClasses { - get { return m_dataSetMessageContentMask; } - set { m_dataSetMessageContentMask = value; } + get + { + return m_dataSetClasses; + } + + set + { + m_dataSetClasses = value; + + if (value == null) + { + m_dataSetClasses = new DataSetMetaDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "DefaultSecurityKeyServices", IsRequired = false, Order = 3)] + public EndpointDescriptionCollection DefaultSecurityKeyServices + { + get + { + return m_defaultSecurityKeyServices; + } + + set + { + m_defaultSecurityKeyServices = value; + + if (value == null) + { + m_defaultSecurityKeyServices = new EndpointDescriptionCollection(); + } + } + } + + /// + [DataMember(Name = "SecurityGroups", IsRequired = false, Order = 4)] + public SecurityGroupDataTypeCollection SecurityGroups + { + get + { + return m_securityGroups; + } + + set + { + m_securityGroups = value; + + if (value == null) + { + m_securityGroups = new SecurityGroupDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "PubSubKeyPushTargets", IsRequired = false, Order = 5)] + public PubSubKeyPushTargetDataTypeCollection PubSubKeyPushTargets + { + get + { + return m_pubSubKeyPushTargets; + } + + set + { + m_pubSubKeyPushTargets = value; + + if (value == null) + { + m_pubSubKeyPushTargets = new PubSubKeyPushTargetDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "ConfigurationVersion", IsRequired = false, Order = 6)] + public uint ConfigurationVersion + { + get { return m_configurationVersion; } + set { m_configurationVersion = value; } + } + + /// + [DataMember(Name = "ConfigurationProperties", IsRequired = false, Order = 7)] + public KeyValuePairCollection ConfigurationProperties + { + get + { + return m_configurationProperties; + } + + set + { + m_configurationProperties = value; + + if (value == null) + { + m_configurationProperties = new KeyValuePairCollection(); + } + } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.JsonDataSetReaderMessageDataType; + public override ExpandedNodeId TypeId => DataTypeIds.PubSubConfiguration2DataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfiguration2DataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -18481,8 +19324,13 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); - encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); + encoder.WriteEncodeableArray("SubscribedDataSets", SubscribedDataSets.ToArray(), typeof(StandaloneSubscribedDataSetDataType)); + encoder.WriteEncodeableArray("DataSetClasses", DataSetClasses.ToArray(), typeof(DataSetMetaDataType)); + encoder.WriteEncodeableArray("DefaultSecurityKeyServices", DefaultSecurityKeyServices.ToArray(), typeof(EndpointDescription)); + encoder.WriteEncodeableArray("SecurityGroups", SecurityGroups.ToArray(), typeof(SecurityGroupDataType)); + encoder.WriteEncodeableArray("PubSubKeyPushTargets", PubSubKeyPushTargets.ToArray(), typeof(PubSubKeyPushTargetDataType)); + encoder.WriteUInt32("ConfigurationVersion", ConfigurationVersion); + encoder.WriteEncodeableArray("ConfigurationProperties", ConfigurationProperties.ToArray(), typeof(KeyValuePair)); encoder.PopNamespace(); } @@ -18494,8 +19342,13 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); - DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); + SubscribedDataSets = (StandaloneSubscribedDataSetDataTypeCollection)decoder.ReadEncodeableArray("SubscribedDataSets", typeof(StandaloneSubscribedDataSetDataType)); + DataSetClasses = (DataSetMetaDataTypeCollection)decoder.ReadEncodeableArray("DataSetClasses", typeof(DataSetMetaDataType)); + DefaultSecurityKeyServices = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("DefaultSecurityKeyServices", typeof(EndpointDescription)); + SecurityGroups = (SecurityGroupDataTypeCollection)decoder.ReadEncodeableArray("SecurityGroups", typeof(SecurityGroupDataType)); + PubSubKeyPushTargets = (PubSubKeyPushTargetDataTypeCollection)decoder.ReadEncodeableArray("PubSubKeyPushTargets", typeof(PubSubKeyPushTargetDataType)); + ConfigurationVersion = decoder.ReadUInt32("ConfigurationVersion"); + ConfigurationProperties = (KeyValuePairCollection)decoder.ReadEncodeableArray("ConfigurationProperties", typeof(KeyValuePair)); decoder.PopNamespace(); } @@ -18508,15 +19361,20 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - JsonDataSetReaderMessageDataType value = encodeable as JsonDataSetReaderMessageDataType; + PubSubConfiguration2DataType value = encodeable as PubSubConfiguration2DataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; - if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; + if (!Utils.IsEqual(m_subscribedDataSets, value.m_subscribedDataSets)) return false; + if (!Utils.IsEqual(m_dataSetClasses, value.m_dataSetClasses)) return false; + if (!Utils.IsEqual(m_defaultSecurityKeyServices, value.m_defaultSecurityKeyServices)) return false; + if (!Utils.IsEqual(m_securityGroups, value.m_securityGroups)) return false; + if (!Utils.IsEqual(m_pubSubKeyPushTargets, value.m_pubSubKeyPushTargets)) return false; + if (!Utils.IsEqual(m_configurationVersion, value.m_configurationVersion)) return false; + if (!Utils.IsEqual(m_configurationProperties, value.m_configurationProperties)) return false; return base.IsEqual(encodeable); } @@ -18524,59 +19382,69 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (JsonDataSetReaderMessageDataType)this.MemberwiseClone(); + return (PubSubConfiguration2DataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonDataSetReaderMessageDataType clone = (JsonDataSetReaderMessageDataType)base.MemberwiseClone(); + PubSubConfiguration2DataType clone = (PubSubConfiguration2DataType)base.MemberwiseClone(); - clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); - clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); + clone.m_subscribedDataSets = (StandaloneSubscribedDataSetDataTypeCollection)Utils.Clone(this.m_subscribedDataSets); + clone.m_dataSetClasses = (DataSetMetaDataTypeCollection)Utils.Clone(this.m_dataSetClasses); + clone.m_defaultSecurityKeyServices = (EndpointDescriptionCollection)Utils.Clone(this.m_defaultSecurityKeyServices); + clone.m_securityGroups = (SecurityGroupDataTypeCollection)Utils.Clone(this.m_securityGroups); + clone.m_pubSubKeyPushTargets = (PubSubKeyPushTargetDataTypeCollection)Utils.Clone(this.m_pubSubKeyPushTargets); + clone.m_configurationVersion = (uint)Utils.Clone(this.m_configurationVersion); + clone.m_configurationProperties = (KeyValuePairCollection)Utils.Clone(this.m_configurationProperties); return clone; } #endregion #region Private Fields - private uint m_networkMessageContentMask; - private uint m_dataSetMessageContentMask; + private StandaloneSubscribedDataSetDataTypeCollection m_subscribedDataSets; + private DataSetMetaDataTypeCollection m_dataSetClasses; + private EndpointDescriptionCollection m_defaultSecurityKeyServices; + private SecurityGroupDataTypeCollection m_securityGroups; + private PubSubKeyPushTargetDataTypeCollection m_pubSubKeyPushTargets; + private uint m_configurationVersion; + private KeyValuePairCollection m_configurationProperties; #endregion } - #region JsonDataSetReaderMessageDataTypeCollection Class + #region PubSubConfiguration2DataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfJsonDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetReaderMessageDataType")] - public partial class JsonDataSetReaderMessageDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPubSubConfiguration2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfiguration2DataType")] + public partial class PubSubConfiguration2DataTypeCollection : List, ICloneable { #region Constructors /// - public JsonDataSetReaderMessageDataTypeCollection() {} + public PubSubConfiguration2DataTypeCollection() {} /// - public JsonDataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} + public PubSubConfiguration2DataTypeCollection(int capacity) : base(capacity) {} /// - public JsonDataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} + public PubSubConfiguration2DataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator JsonDataSetReaderMessageDataTypeCollection(JsonDataSetReaderMessageDataType[] values) + public static implicit operator PubSubConfiguration2DataTypeCollection(PubSubConfiguration2DataType[] values) { if (values != null) { - return new JsonDataSetReaderMessageDataTypeCollection(values); + return new PubSubConfiguration2DataTypeCollection(values); } - return new JsonDataSetReaderMessageDataTypeCollection(); + return new PubSubConfiguration2DataTypeCollection(); } /// - public static explicit operator JsonDataSetReaderMessageDataType[](JsonDataSetReaderMessageDataTypeCollection values) + public static explicit operator PubSubConfiguration2DataType[](PubSubConfiguration2DataTypeCollection values) { if (values != null) { @@ -18591,18 +19459,18 @@ public static explicit operator JsonDataSetReaderMessageDataType[](JsonDataSetRe /// public object Clone() { - return (JsonDataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); + return (PubSubConfiguration2DataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - JsonDataSetReaderMessageDataTypeCollection clone = new JsonDataSetReaderMessageDataTypeCollection(this.Count); + PubSubConfiguration2DataTypeCollection clone = new PubSubConfiguration2DataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((JsonDataSetReaderMessageDataType)Utils.Clone(this[ii])); + clone.Add((PubSubConfiguration2DataType)Utils.Clone(this[ii])); } return clone; @@ -18612,137 +19480,183 @@ public object Clone() #endif #endregion - #region QosDataType Class - #if (!OPCUA_EXCLUDE_QosDataType) + #region DataSetOrderingType Enumeration + #if (!OPCUA_EXCLUDE_DataSetOrderingType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class QosDataType : IEncodeable, IJsonEncodeable + public enum DataSetOrderingType { - #region Constructors /// - public QosDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - } - #endregion - - #region Public Properties - #endregion - - #region IEncodeable Members - /// - public virtual ExpandedNodeId TypeId => DataTypeIds.QosDataType; - - /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.QosDataType_Encoding_DefaultBinary; - - /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.QosDataType_Encoding_DefaultXml; - - /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.QosDataType_Encoding_DefaultJson; - - /// - public virtual void Encode(IEncoder encoder) - { - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + [EnumMember(Value = "Undefined_0")] + Undefined = 0, + /// + [EnumMember(Value = "AscendingWriterId_1")] + AscendingWriterId = 1, - encoder.PopNamespace(); - } + /// + [EnumMember(Value = "AscendingWriterIdSingle_2")] + AscendingWriterIdSingle = 2, + } - /// - public virtual void Decode(IDecoder decoder) - { - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + #region DataSetOrderingTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfDataSetOrderingType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DataSetOrderingType")] + public partial class DataSetOrderingTypeCollection : List, ICloneable + { + #region Constructors + /// + public DataSetOrderingTypeCollection() {} + /// + public DataSetOrderingTypeCollection(int capacity) : base(capacity) {} - decoder.PopNamespace(); - } + /// + public DataSetOrderingTypeCollection(IEnumerable collection) : base(collection) {} + #endregion - /// - public virtual bool IsEqual(IEncodeable encodeable) + #region Static Operators + /// + public static implicit operator DataSetOrderingTypeCollection(DataSetOrderingType[] values) { - if (Object.ReferenceEquals(this, encodeable)) + if (values != null) { - return true; + return new DataSetOrderingTypeCollection(values); } - QosDataType value = encodeable as QosDataType; + return new DataSetOrderingTypeCollection(); + } - if (value == null) + /// + public static explicit operator DataSetOrderingType[](DataSetOrderingTypeCollection values) + { + if (values != null) { - return false; + return values.ToArray(); } - - return true; + return null; } + #endregion - /// - public virtual object Clone() + #region ICloneable Methods + /// + public object Clone() { - return (QosDataType)this.MemberwiseClone(); + return (DataSetOrderingTypeCollection)this.MemberwiseClone(); } + #endregion /// public new object MemberwiseClone() { - QosDataType clone = (QosDataType)base.MemberwiseClone(); + DataSetOrderingTypeCollection clone = new DataSetOrderingTypeCollection(this.Count); + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((DataSetOrderingType)Utils.Clone(this[ii])); + } return clone; } - #endregion + } + #endregion + #endif + #endregion - #region Private Fields - #endregion + #region UadpNetworkMessageContentMask Enumeration + #if (!OPCUA_EXCLUDE_UadpNetworkMessageContentMask) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum UadpNetworkMessageContentMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "PublisherId_1")] + PublisherId = 1, + + /// + [EnumMember(Value = "GroupHeader_2")] + GroupHeader = 2, + + /// + [EnumMember(Value = "WriterGroupId_4")] + WriterGroupId = 4, + + /// + [EnumMember(Value = "GroupVersion_8")] + GroupVersion = 8, + + /// + [EnumMember(Value = "NetworkMessageNumber_16")] + NetworkMessageNumber = 16, + + /// + [EnumMember(Value = "SequenceNumber_32")] + SequenceNumber = 32, + + /// + [EnumMember(Value = "PayloadHeader_64")] + PayloadHeader = 64, + + /// + [EnumMember(Value = "Timestamp_128")] + Timestamp = 128, + + /// + [EnumMember(Value = "PicoSeconds_256")] + PicoSeconds = 256, + + /// + [EnumMember(Value = "DataSetClassId_512")] + DataSetClassId = 512, + + /// + [EnumMember(Value = "PromotedFields_1024")] + PromotedFields = 1024, } - #region QosDataTypeCollection Class + #region UadpNetworkMessageContentMaskCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "QosDataType")] - public partial class QosDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUadpNetworkMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpNetworkMessageContentMask")] + public partial class UadpNetworkMessageContentMaskCollection : List, ICloneable { #region Constructors /// - public QosDataTypeCollection() {} + public UadpNetworkMessageContentMaskCollection() {} /// - public QosDataTypeCollection(int capacity) : base(capacity) {} + public UadpNetworkMessageContentMaskCollection(int capacity) : base(capacity) {} /// - public QosDataTypeCollection(IEnumerable collection) : base(collection) {} + public UadpNetworkMessageContentMaskCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator QosDataTypeCollection(QosDataType[] values) + public static implicit operator UadpNetworkMessageContentMaskCollection(UadpNetworkMessageContentMask[] values) { if (values != null) { - return new QosDataTypeCollection(values); + return new UadpNetworkMessageContentMaskCollection(values); } - return new QosDataTypeCollection(); + return new UadpNetworkMessageContentMaskCollection(); } /// - public static explicit operator QosDataType[](QosDataTypeCollection values) + public static explicit operator UadpNetworkMessageContentMask[](UadpNetworkMessageContentMaskCollection values) { if (values != null) { @@ -18757,18 +19671,18 @@ public static explicit operator QosDataType[](QosDataTypeCollection values) /// public object Clone() { - return (QosDataTypeCollection)this.MemberwiseClone(); + return (UadpNetworkMessageContentMaskCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - QosDataTypeCollection clone = new QosDataTypeCollection(this.Count); + UadpNetworkMessageContentMaskCollection clone = new UadpNetworkMessageContentMaskCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((QosDataType)Utils.Clone(this[ii])); + clone.Add((UadpNetworkMessageContentMask)Utils.Clone(this[ii])); } return clone; @@ -18778,17 +19692,17 @@ public object Clone() #endif #endregion - #region TransmitQosDataType Class - #if (!OPCUA_EXCLUDE_TransmitQosDataType) + #region UadpWriterGroupMessageDataType Class + #if (!OPCUA_EXCLUDE_UadpWriterGroupMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class TransmitQosDataType : Opc.Ua.QosDataType + public partial class UadpWriterGroupMessageDataType : Opc.Ua.WriterGroupMessageDataType { #region Constructors /// - public TransmitQosDataType() + public UadpWriterGroupMessageDataType() { Initialize(); } @@ -18801,24 +19715,80 @@ private void Initialize(StreamingContext context) private void Initialize() { + m_groupVersion = (uint)0; + m_dataSetOrdering = DataSetOrderingType.Undefined; + m_networkMessageContentMask = 0; + m_samplingOffset = (double)0; + m_publishingOffset = new DoubleCollection(); } #endregion #region Public Properties + /// + [DataMember(Name = "GroupVersion", IsRequired = false, Order = 1)] + public uint GroupVersion + { + get { return m_groupVersion; } + set { m_groupVersion = value; } + } + + /// + [DataMember(Name = "DataSetOrdering", IsRequired = false, Order = 2)] + public DataSetOrderingType DataSetOrdering + { + get { return m_dataSetOrdering; } + set { m_dataSetOrdering = value; } + } + + /// + [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 3)] + public uint NetworkMessageContentMask + { + get { return m_networkMessageContentMask; } + set { m_networkMessageContentMask = value; } + } + + /// + [DataMember(Name = "SamplingOffset", IsRequired = false, Order = 4)] + public double SamplingOffset + { + get { return m_samplingOffset; } + set { m_samplingOffset = value; } + } + + /// + [DataMember(Name = "PublishingOffset", IsRequired = false, Order = 5)] + public DoubleCollection PublishingOffset + { + get + { + return m_publishingOffset; + } + + set + { + m_publishingOffset = value; + + if (value == null) + { + m_publishingOffset = new DoubleCollection(); + } + } + } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.TransmitQosDataType; + public override ExpandedNodeId TypeId => DataTypeIds.UadpWriterGroupMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -18827,6 +19797,11 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteUInt32("GroupVersion", GroupVersion); + encoder.WriteEnumerated("DataSetOrdering", DataSetOrdering); + encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); + encoder.WriteDouble("SamplingOffset", SamplingOffset); + encoder.WriteDoubleArray("PublishingOffset", PublishingOffset); encoder.PopNamespace(); } @@ -18838,6 +19813,11 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + GroupVersion = decoder.ReadUInt32("GroupVersion"); + DataSetOrdering = (DataSetOrderingType)decoder.ReadEnumerated("DataSetOrdering", typeof(DataSetOrderingType)); + NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); + SamplingOffset = decoder.ReadDouble("SamplingOffset"); + PublishingOffset = decoder.ReadDoubleArray("PublishingOffset"); decoder.PopNamespace(); } @@ -18850,69 +19830,84 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - TransmitQosDataType value = encodeable as TransmitQosDataType; + UadpWriterGroupMessageDataType value = encodeable as UadpWriterGroupMessageDataType; if (value == null) { return false; } - - return base.IsEqual(encodeable); - } + if (!Utils.IsEqual(m_groupVersion, value.m_groupVersion)) return false; + if (!Utils.IsEqual(m_dataSetOrdering, value.m_dataSetOrdering)) return false; + if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; + if (!Utils.IsEqual(m_samplingOffset, value.m_samplingOffset)) return false; + if (!Utils.IsEqual(m_publishingOffset, value.m_publishingOffset)) return false; + + return base.IsEqual(encodeable); + } /// public override object Clone() { - return (TransmitQosDataType)this.MemberwiseClone(); + return (UadpWriterGroupMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - TransmitQosDataType clone = (TransmitQosDataType)base.MemberwiseClone(); + UadpWriterGroupMessageDataType clone = (UadpWriterGroupMessageDataType)base.MemberwiseClone(); + clone.m_groupVersion = (uint)Utils.Clone(this.m_groupVersion); + clone.m_dataSetOrdering = (DataSetOrderingType)Utils.Clone(this.m_dataSetOrdering); + clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); + clone.m_samplingOffset = (double)Utils.Clone(this.m_samplingOffset); + clone.m_publishingOffset = (DoubleCollection)Utils.Clone(this.m_publishingOffset); return clone; } #endregion #region Private Fields + private uint m_groupVersion; + private DataSetOrderingType m_dataSetOrdering; + private uint m_networkMessageContentMask; + private double m_samplingOffset; + private DoubleCollection m_publishingOffset; #endregion } - #region TransmitQosDataTypeCollection Class + #region UadpWriterGroupMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTransmitQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransmitQosDataType")] - public partial class TransmitQosDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUadpWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpWriterGroupMessageDataType")] + public partial class UadpWriterGroupMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public TransmitQosDataTypeCollection() {} + public UadpWriterGroupMessageDataTypeCollection() {} /// - public TransmitQosDataTypeCollection(int capacity) : base(capacity) {} + public UadpWriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public TransmitQosDataTypeCollection(IEnumerable collection) : base(collection) {} + public UadpWriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TransmitQosDataTypeCollection(TransmitQosDataType[] values) + public static implicit operator UadpWriterGroupMessageDataTypeCollection(UadpWriterGroupMessageDataType[] values) { if (values != null) { - return new TransmitQosDataTypeCollection(values); + return new UadpWriterGroupMessageDataTypeCollection(values); } - return new TransmitQosDataTypeCollection(); + return new UadpWriterGroupMessageDataTypeCollection(); } /// - public static explicit operator TransmitQosDataType[](TransmitQosDataTypeCollection values) + public static explicit operator UadpWriterGroupMessageDataType[](UadpWriterGroupMessageDataTypeCollection values) { if (values != null) { @@ -18927,18 +19922,18 @@ public static explicit operator TransmitQosDataType[](TransmitQosDataTypeCollect /// public object Clone() { - return (TransmitQosDataTypeCollection)this.MemberwiseClone(); + return (UadpWriterGroupMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TransmitQosDataTypeCollection clone = new TransmitQosDataTypeCollection(this.Count); + UadpWriterGroupMessageDataTypeCollection clone = new UadpWriterGroupMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TransmitQosDataType)Utils.Clone(this[ii])); + clone.Add((UadpWriterGroupMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -18948,154 +19943,75 @@ public object Clone() #endif #endregion - #region TransmitQosPriorityDataType Class - #if (!OPCUA_EXCLUDE_TransmitQosPriorityDataType) + #region UadpDataSetMessageContentMask Enumeration + #if (!OPCUA_EXCLUDE_UadpDataSetMessageContentMask) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class TransmitQosPriorityDataType : Opc.Ua.TransmitQosDataType + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum UadpDataSetMessageContentMask : UInt32 { - #region Constructors /// - public TransmitQosPriorityDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - m_priorityLabel = null; - } - #endregion + [EnumMember(Value = "None_0")] + None = 0, - #region Public Properties /// - [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 1)] - public string PriorityLabel - { - get { return m_priorityLabel; } - set { m_priorityLabel = value; } - } - #endregion - - #region IEncodeable Members - /// - public override ExpandedNodeId TypeId => DataTypeIds.TransmitQosPriorityDataType; - - /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultBinary; - - /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultXml; - - /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultJson; - - /// - public override void Encode(IEncoder encoder) - { - base.Encode(encoder); - - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - encoder.WriteString("PriorityLabel", PriorityLabel); - - encoder.PopNamespace(); - } - - /// - public override void Decode(IDecoder decoder) - { - base.Decode(decoder); - - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - PriorityLabel = decoder.ReadString("PriorityLabel"); - - decoder.PopNamespace(); - } - - /// - public override bool IsEqual(IEncodeable encodeable) - { - if (Object.ReferenceEquals(this, encodeable)) - { - return true; - } - - TransmitQosPriorityDataType value = encodeable as TransmitQosPriorityDataType; - - if (value == null) - { - return false; - } - - if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; - - return base.IsEqual(encodeable); - } + [EnumMember(Value = "Timestamp_1")] + Timestamp = 1, - /// - public override object Clone() - { - return (TransmitQosPriorityDataType)this.MemberwiseClone(); - } + /// + [EnumMember(Value = "PicoSeconds_2")] + PicoSeconds = 2, - /// - public new object MemberwiseClone() - { - TransmitQosPriorityDataType clone = (TransmitQosPriorityDataType)base.MemberwiseClone(); + /// + [EnumMember(Value = "Status_4")] + Status = 4, - clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); + /// + [EnumMember(Value = "MajorVersion_8")] + MajorVersion = 8, - return clone; - } - #endregion + /// + [EnumMember(Value = "MinorVersion_16")] + MinorVersion = 16, - #region Private Fields - private string m_priorityLabel; - #endregion + /// + [EnumMember(Value = "SequenceNumber_32")] + SequenceNumber = 32, } - #region TransmitQosPriorityDataTypeCollection Class + #region UadpDataSetMessageContentMaskCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTransmitQosPriorityDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransmitQosPriorityDataType")] - public partial class TransmitQosPriorityDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUadpDataSetMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetMessageContentMask")] + public partial class UadpDataSetMessageContentMaskCollection : List, ICloneable { #region Constructors /// - public TransmitQosPriorityDataTypeCollection() {} + public UadpDataSetMessageContentMaskCollection() {} /// - public TransmitQosPriorityDataTypeCollection(int capacity) : base(capacity) {} + public UadpDataSetMessageContentMaskCollection(int capacity) : base(capacity) {} /// - public TransmitQosPriorityDataTypeCollection(IEnumerable collection) : base(collection) {} + public UadpDataSetMessageContentMaskCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TransmitQosPriorityDataTypeCollection(TransmitQosPriorityDataType[] values) + public static implicit operator UadpDataSetMessageContentMaskCollection(UadpDataSetMessageContentMask[] values) { if (values != null) { - return new TransmitQosPriorityDataTypeCollection(values); + return new UadpDataSetMessageContentMaskCollection(values); } - return new TransmitQosPriorityDataTypeCollection(); + return new UadpDataSetMessageContentMaskCollection(); } /// - public static explicit operator TransmitQosPriorityDataType[](TransmitQosPriorityDataTypeCollection values) + public static explicit operator UadpDataSetMessageContentMask[](UadpDataSetMessageContentMaskCollection values) { if (values != null) { @@ -19110,18 +20026,18 @@ public static explicit operator TransmitQosPriorityDataType[](TransmitQosPriorit /// public object Clone() { - return (TransmitQosPriorityDataTypeCollection)this.MemberwiseClone(); + return (UadpDataSetMessageContentMaskCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TransmitQosPriorityDataTypeCollection clone = new TransmitQosPriorityDataTypeCollection(this.Count); + UadpDataSetMessageContentMaskCollection clone = new UadpDataSetMessageContentMaskCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TransmitQosPriorityDataType)Utils.Clone(this[ii])); + clone.Add((UadpDataSetMessageContentMask)Utils.Clone(this[ii])); } return clone; @@ -19131,17 +20047,17 @@ public object Clone() #endif #endregion - #region ReceiveQosDataType Class - #if (!OPCUA_EXCLUDE_ReceiveQosDataType) + #region UadpDataSetWriterMessageDataType Class + #if (!OPCUA_EXCLUDE_UadpDataSetWriterMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReceiveQosDataType : Opc.Ua.QosDataType + public partial class UadpDataSetWriterMessageDataType : Opc.Ua.DataSetWriterMessageDataType { #region Constructors /// - public ReceiveQosDataType() + public UadpDataSetWriterMessageDataType() { Initialize(); } @@ -19154,24 +20070,59 @@ private void Initialize(StreamingContext context) private void Initialize() { + m_dataSetMessageContentMask = 0; + m_configuredSize = (ushort)0; + m_networkMessageNumber = (ushort)0; + m_dataSetOffset = (ushort)0; } #endregion #region Public Properties + /// + [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 1)] + public uint DataSetMessageContentMask + { + get { return m_dataSetMessageContentMask; } + set { m_dataSetMessageContentMask = value; } + } + + /// + [DataMember(Name = "ConfiguredSize", IsRequired = false, Order = 2)] + public ushort ConfiguredSize + { + get { return m_configuredSize; } + set { m_configuredSize = value; } + } + + /// + [DataMember(Name = "NetworkMessageNumber", IsRequired = false, Order = 3)] + public ushort NetworkMessageNumber + { + get { return m_networkMessageNumber; } + set { m_networkMessageNumber = value; } + } + + /// + [DataMember(Name = "DataSetOffset", IsRequired = false, Order = 4)] + public ushort DataSetOffset + { + get { return m_dataSetOffset; } + set { m_dataSetOffset = value; } + } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.ReceiveQosDataType; + public override ExpandedNodeId TypeId => DataTypeIds.UadpDataSetWriterMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -19180,6 +20131,10 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); + encoder.WriteUInt16("ConfiguredSize", ConfiguredSize); + encoder.WriteUInt16("NetworkMessageNumber", NetworkMessageNumber); + encoder.WriteUInt16("DataSetOffset", DataSetOffset); encoder.PopNamespace(); } @@ -19191,6 +20146,10 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); + ConfiguredSize = decoder.ReadUInt16("ConfiguredSize"); + NetworkMessageNumber = decoder.ReadUInt16("NetworkMessageNumber"); + DataSetOffset = decoder.ReadUInt16("DataSetOffset"); decoder.PopNamespace(); } @@ -19203,13 +20162,17 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - ReceiveQosDataType value = encodeable as ReceiveQosDataType; + UadpDataSetWriterMessageDataType value = encodeable as UadpDataSetWriterMessageDataType; if (value == null) { return false; } + if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; + if (!Utils.IsEqual(m_configuredSize, value.m_configuredSize)) return false; + if (!Utils.IsEqual(m_networkMessageNumber, value.m_networkMessageNumber)) return false; + if (!Utils.IsEqual(m_dataSetOffset, value.m_dataSetOffset)) return false; return base.IsEqual(encodeable); } @@ -19217,55 +20180,63 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (ReceiveQosDataType)this.MemberwiseClone(); + return (UadpDataSetWriterMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReceiveQosDataType clone = (ReceiveQosDataType)base.MemberwiseClone(); + UadpDataSetWriterMessageDataType clone = (UadpDataSetWriterMessageDataType)base.MemberwiseClone(); + clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); + clone.m_configuredSize = (ushort)Utils.Clone(this.m_configuredSize); + clone.m_networkMessageNumber = (ushort)Utils.Clone(this.m_networkMessageNumber); + clone.m_dataSetOffset = (ushort)Utils.Clone(this.m_dataSetOffset); return clone; } #endregion #region Private Fields + private uint m_dataSetMessageContentMask; + private ushort m_configuredSize; + private ushort m_networkMessageNumber; + private ushort m_dataSetOffset; #endregion } - #region ReceiveQosDataTypeCollection Class + #region UadpDataSetWriterMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReceiveQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReceiveQosDataType")] - public partial class ReceiveQosDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUadpDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetWriterMessageDataType")] + public partial class UadpDataSetWriterMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public ReceiveQosDataTypeCollection() {} + public UadpDataSetWriterMessageDataTypeCollection() {} /// - public ReceiveQosDataTypeCollection(int capacity) : base(capacity) {} + public UadpDataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public ReceiveQosDataTypeCollection(IEnumerable collection) : base(collection) {} + public UadpDataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReceiveQosDataTypeCollection(ReceiveQosDataType[] values) + public static implicit operator UadpDataSetWriterMessageDataTypeCollection(UadpDataSetWriterMessageDataType[] values) { if (values != null) { - return new ReceiveQosDataTypeCollection(values); + return new UadpDataSetWriterMessageDataTypeCollection(values); } - return new ReceiveQosDataTypeCollection(); + return new UadpDataSetWriterMessageDataTypeCollection(); } /// - public static explicit operator ReceiveQosDataType[](ReceiveQosDataTypeCollection values) + public static explicit operator UadpDataSetWriterMessageDataType[](UadpDataSetWriterMessageDataTypeCollection values) { if (values != null) { @@ -19280,18 +20251,18 @@ public static explicit operator ReceiveQosDataType[](ReceiveQosDataTypeCollectio /// public object Clone() { - return (ReceiveQosDataTypeCollection)this.MemberwiseClone(); + return (UadpDataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReceiveQosDataTypeCollection clone = new ReceiveQosDataTypeCollection(this.Count); + UadpDataSetWriterMessageDataTypeCollection clone = new UadpDataSetWriterMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReceiveQosDataType)Utils.Clone(this[ii])); + clone.Add((UadpDataSetWriterMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -19301,17 +20272,17 @@ public object Clone() #endif #endregion - #region ReceiveQosPriorityDataType Class - #if (!OPCUA_EXCLUDE_ReceiveQosPriorityDataType) + #region UadpDataSetReaderMessageDataType Class + #if (!OPCUA_EXCLUDE_UadpDataSetReaderMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReceiveQosPriorityDataType : Opc.Ua.ReceiveQosDataType + public partial class UadpDataSetReaderMessageDataType : Opc.Ua.DataSetReaderMessageDataType { #region Constructors /// - public ReceiveQosPriorityDataType() + public UadpDataSetReaderMessageDataType() { Initialize(); } @@ -19324,32 +20295,104 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_priorityLabel = null; + m_groupVersion = (uint)0; + m_networkMessageNumber = (ushort)0; + m_dataSetOffset = (ushort)0; + m_dataSetClassId = Uuid.Empty; + m_networkMessageContentMask = 0; + m_dataSetMessageContentMask = 0; + m_publishingInterval = (double)0; + m_receiveOffset = (double)0; + m_processingOffset = (double)0; } #endregion #region Public Properties /// - [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 1)] - public string PriorityLabel + [DataMember(Name = "GroupVersion", IsRequired = false, Order = 1)] + public uint GroupVersion { - get { return m_priorityLabel; } - set { m_priorityLabel = value; } + get { return m_groupVersion; } + set { m_groupVersion = value; } + } + + /// + [DataMember(Name = "NetworkMessageNumber", IsRequired = false, Order = 2)] + public ushort NetworkMessageNumber + { + get { return m_networkMessageNumber; } + set { m_networkMessageNumber = value; } + } + + /// + [DataMember(Name = "DataSetOffset", IsRequired = false, Order = 3)] + public ushort DataSetOffset + { + get { return m_dataSetOffset; } + set { m_dataSetOffset = value; } + } + + /// + [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 4)] + public Uuid DataSetClassId + { + get { return m_dataSetClassId; } + set { m_dataSetClassId = value; } + } + + /// + [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 5)] + public uint NetworkMessageContentMask + { + get { return m_networkMessageContentMask; } + set { m_networkMessageContentMask = value; } + } + + /// + [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 6)] + public uint DataSetMessageContentMask + { + get { return m_dataSetMessageContentMask; } + set { m_dataSetMessageContentMask = value; } + } + + /// + [DataMember(Name = "PublishingInterval", IsRequired = false, Order = 7)] + public double PublishingInterval + { + get { return m_publishingInterval; } + set { m_publishingInterval = value; } + } + + /// + [DataMember(Name = "ReceiveOffset", IsRequired = false, Order = 8)] + public double ReceiveOffset + { + get { return m_receiveOffset; } + set { m_receiveOffset = value; } + } + + /// + [DataMember(Name = "ProcessingOffset", IsRequired = false, Order = 9)] + public double ProcessingOffset + { + get { return m_processingOffset; } + set { m_processingOffset = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.ReceiveQosPriorityDataType; + public override ExpandedNodeId TypeId => DataTypeIds.UadpDataSetReaderMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -19358,7 +20401,15 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("PriorityLabel", PriorityLabel); + encoder.WriteUInt32("GroupVersion", GroupVersion); + encoder.WriteUInt16("NetworkMessageNumber", NetworkMessageNumber); + encoder.WriteUInt16("DataSetOffset", DataSetOffset); + encoder.WriteGuid("DataSetClassId", DataSetClassId); + encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); + encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); + encoder.WriteDouble("PublishingInterval", PublishingInterval); + encoder.WriteDouble("ReceiveOffset", ReceiveOffset); + encoder.WriteDouble("ProcessingOffset", ProcessingOffset); encoder.PopNamespace(); } @@ -19370,7 +20421,15 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - PriorityLabel = decoder.ReadString("PriorityLabel"); + GroupVersion = decoder.ReadUInt32("GroupVersion"); + NetworkMessageNumber = decoder.ReadUInt16("NetworkMessageNumber"); + DataSetOffset = decoder.ReadUInt16("DataSetOffset"); + DataSetClassId = decoder.ReadGuid("DataSetClassId"); + NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); + DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); + PublishingInterval = decoder.ReadDouble("PublishingInterval"); + ReceiveOffset = decoder.ReadDouble("ReceiveOffset"); + ProcessingOffset = decoder.ReadDouble("ProcessingOffset"); decoder.PopNamespace(); } @@ -19383,14 +20442,22 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - ReceiveQosPriorityDataType value = encodeable as ReceiveQosPriorityDataType; + UadpDataSetReaderMessageDataType value = encodeable as UadpDataSetReaderMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; + if (!Utils.IsEqual(m_groupVersion, value.m_groupVersion)) return false; + if (!Utils.IsEqual(m_networkMessageNumber, value.m_networkMessageNumber)) return false; + if (!Utils.IsEqual(m_dataSetOffset, value.m_dataSetOffset)) return false; + if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; + if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; + if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; + if (!Utils.IsEqual(m_publishingInterval, value.m_publishingInterval)) return false; + if (!Utils.IsEqual(m_receiveOffset, value.m_receiveOffset)) return false; + if (!Utils.IsEqual(m_processingOffset, value.m_processingOffset)) return false; return base.IsEqual(encodeable); } @@ -19398,57 +20465,73 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (ReceiveQosPriorityDataType)this.MemberwiseClone(); + return (UadpDataSetReaderMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReceiveQosPriorityDataType clone = (ReceiveQosPriorityDataType)base.MemberwiseClone(); + UadpDataSetReaderMessageDataType clone = (UadpDataSetReaderMessageDataType)base.MemberwiseClone(); - clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); + clone.m_groupVersion = (uint)Utils.Clone(this.m_groupVersion); + clone.m_networkMessageNumber = (ushort)Utils.Clone(this.m_networkMessageNumber); + clone.m_dataSetOffset = (ushort)Utils.Clone(this.m_dataSetOffset); + clone.m_dataSetClassId = (Uuid)Utils.Clone(this.m_dataSetClassId); + clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); + clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); + clone.m_publishingInterval = (double)Utils.Clone(this.m_publishingInterval); + clone.m_receiveOffset = (double)Utils.Clone(this.m_receiveOffset); + clone.m_processingOffset = (double)Utils.Clone(this.m_processingOffset); return clone; } #endregion #region Private Fields - private string m_priorityLabel; + private uint m_groupVersion; + private ushort m_networkMessageNumber; + private ushort m_dataSetOffset; + private Uuid m_dataSetClassId; + private uint m_networkMessageContentMask; + private uint m_dataSetMessageContentMask; + private double m_publishingInterval; + private double m_receiveOffset; + private double m_processingOffset; #endregion } - #region ReceiveQosPriorityDataTypeCollection Class + #region UadpDataSetReaderMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReceiveQosPriorityDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReceiveQosPriorityDataType")] - public partial class ReceiveQosPriorityDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfUadpDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UadpDataSetReaderMessageDataType")] + public partial class UadpDataSetReaderMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public ReceiveQosPriorityDataTypeCollection() {} + public UadpDataSetReaderMessageDataTypeCollection() {} /// - public ReceiveQosPriorityDataTypeCollection(int capacity) : base(capacity) {} + public UadpDataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public ReceiveQosPriorityDataTypeCollection(IEnumerable collection) : base(collection) {} + public UadpDataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReceiveQosPriorityDataTypeCollection(ReceiveQosPriorityDataType[] values) + public static implicit operator UadpDataSetReaderMessageDataTypeCollection(UadpDataSetReaderMessageDataType[] values) { if (values != null) { - return new ReceiveQosPriorityDataTypeCollection(values); + return new UadpDataSetReaderMessageDataTypeCollection(values); } - return new ReceiveQosPriorityDataTypeCollection(); + return new UadpDataSetReaderMessageDataTypeCollection(); } /// - public static explicit operator ReceiveQosPriorityDataType[](ReceiveQosPriorityDataTypeCollection values) + public static explicit operator UadpDataSetReaderMessageDataType[](UadpDataSetReaderMessageDataTypeCollection values) { if (values != null) { @@ -19463,18 +20546,18 @@ public static explicit operator ReceiveQosPriorityDataType[](ReceiveQosPriorityD /// public object Clone() { - return (ReceiveQosPriorityDataTypeCollection)this.MemberwiseClone(); + return (UadpDataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReceiveQosPriorityDataTypeCollection clone = new ReceiveQosPriorityDataTypeCollection(this.Count); + UadpDataSetReaderMessageDataTypeCollection clone = new UadpDataSetReaderMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReceiveQosPriorityDataType)Utils.Clone(this[ii])); + clone.Add((UadpDataSetReaderMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -19484,55 +20567,163 @@ public object Clone() #endif #endregion - #region DatagramConnectionTransportDataType Class - #if (!OPCUA_EXCLUDE_DatagramConnectionTransportDataType) + #region JsonNetworkMessageContentMask Enumeration + #if (!OPCUA_EXCLUDE_JsonNetworkMessageContentMask) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DatagramConnectionTransportDataType : Opc.Ua.ConnectionTransportDataType + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum JsonNetworkMessageContentMask : UInt32 { - #region Constructors /// - public DatagramConnectionTransportDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } + [EnumMember(Value = "None_0")] + None = 0, - private void Initialize() - { - m_discoveryAddress = null; - } - #endregion + /// + [EnumMember(Value = "NetworkMessageHeader_1")] + NetworkMessageHeader = 1, - #region Public Properties /// - [DataMember(Name = "DiscoveryAddress", IsRequired = false, Order = 1)] - public ExtensionObject DiscoveryAddress + [EnumMember(Value = "DataSetMessageHeader_2")] + DataSetMessageHeader = 2, + + /// + [EnumMember(Value = "SingleDataSetMessage_4")] + SingleDataSetMessage = 4, + + /// + [EnumMember(Value = "PublisherId_8")] + PublisherId = 8, + + /// + [EnumMember(Value = "DataSetClassId_16")] + DataSetClassId = 16, + + /// + [EnumMember(Value = "ReplyTo_32")] + ReplyTo = 32, + + /// + [EnumMember(Value = "WriterGroupName_64")] + WriterGroupName = 64, + } + + #region JsonNetworkMessageContentMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfJsonNetworkMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonNetworkMessageContentMask")] + public partial class JsonNetworkMessageContentMaskCollection : List, ICloneable + { + #region Constructors + /// + public JsonNetworkMessageContentMaskCollection() {} + + /// + public JsonNetworkMessageContentMaskCollection(int capacity) : base(capacity) {} + + /// + public JsonNetworkMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator JsonNetworkMessageContentMaskCollection(JsonNetworkMessageContentMask[] values) { - get { return m_discoveryAddress; } - set { m_discoveryAddress = value; } + if (values != null) + { + return new JsonNetworkMessageContentMaskCollection(values); + } + + return new JsonNetworkMessageContentMaskCollection(); + } + + /// + public static explicit operator JsonNetworkMessageContentMask[](JsonNetworkMessageContentMaskCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (JsonNetworkMessageContentMaskCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + JsonNetworkMessageContentMaskCollection clone = new JsonNetworkMessageContentMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((JsonNetworkMessageContentMask)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region JsonWriterGroupMessageDataType Class + #if (!OPCUA_EXCLUDE_JsonWriterGroupMessageDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonWriterGroupMessageDataType : Opc.Ua.WriterGroupMessageDataType + { + #region Constructors + /// + public JsonWriterGroupMessageDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_networkMessageContentMask = 0; + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 1)] + public uint NetworkMessageContentMask + { + get { return m_networkMessageContentMask; } + set { m_networkMessageContentMask = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DatagramConnectionTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.JsonWriterGroupMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -19541,7 +20732,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteExtensionObject("DiscoveryAddress", DiscoveryAddress); + encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); encoder.PopNamespace(); } @@ -19553,7 +20744,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DiscoveryAddress = decoder.ReadExtensionObject("DiscoveryAddress"); + NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); decoder.PopNamespace(); } @@ -19566,14 +20757,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - DatagramConnectionTransportDataType value = encodeable as DatagramConnectionTransportDataType; + JsonWriterGroupMessageDataType value = encodeable as JsonWriterGroupMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_discoveryAddress, value.m_discoveryAddress)) return false; + if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; return base.IsEqual(encodeable); } @@ -19581,57 +20772,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (DatagramConnectionTransportDataType)this.MemberwiseClone(); + return (JsonWriterGroupMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DatagramConnectionTransportDataType clone = (DatagramConnectionTransportDataType)base.MemberwiseClone(); + JsonWriterGroupMessageDataType clone = (JsonWriterGroupMessageDataType)base.MemberwiseClone(); - clone.m_discoveryAddress = (ExtensionObject)Utils.Clone(this.m_discoveryAddress); + clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); return clone; } #endregion #region Private Fields - private ExtensionObject m_discoveryAddress; + private uint m_networkMessageContentMask; #endregion } - #region DatagramConnectionTransportDataTypeCollection Class + #region JsonWriterGroupMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDatagramConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramConnectionTransportDataType")] - public partial class DatagramConnectionTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfJsonWriterGroupMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonWriterGroupMessageDataType")] + public partial class JsonWriterGroupMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public DatagramConnectionTransportDataTypeCollection() {} + public JsonWriterGroupMessageDataTypeCollection() {} /// - public DatagramConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} + public JsonWriterGroupMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public DatagramConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public JsonWriterGroupMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DatagramConnectionTransportDataTypeCollection(DatagramConnectionTransportDataType[] values) + public static implicit operator JsonWriterGroupMessageDataTypeCollection(JsonWriterGroupMessageDataType[] values) { if (values != null) { - return new DatagramConnectionTransportDataTypeCollection(values); + return new JsonWriterGroupMessageDataTypeCollection(values); } - return new DatagramConnectionTransportDataTypeCollection(); + return new JsonWriterGroupMessageDataTypeCollection(); } /// - public static explicit operator DatagramConnectionTransportDataType[](DatagramConnectionTransportDataTypeCollection values) + public static explicit operator JsonWriterGroupMessageDataType[](JsonWriterGroupMessageDataTypeCollection values) { if (values != null) { @@ -19646,18 +20837,18 @@ public static explicit operator DatagramConnectionTransportDataType[](DatagramCo /// public object Clone() { - return (DatagramConnectionTransportDataTypeCollection)this.MemberwiseClone(); + return (JsonWriterGroupMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DatagramConnectionTransportDataTypeCollection clone = new DatagramConnectionTransportDataTypeCollection(this.Count); + JsonWriterGroupMessageDataTypeCollection clone = new JsonWriterGroupMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DatagramConnectionTransportDataType)Utils.Clone(this[ii])); + clone.Add((JsonWriterGroupMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -19667,82 +20858,183 @@ public object Clone() #endif #endregion - #region DatagramConnectionTransport2DataType Class - #if (!OPCUA_EXCLUDE_DatagramConnectionTransport2DataType) + #region JsonDataSetMessageContentMask Enumeration + #if (!OPCUA_EXCLUDE_JsonDataSetMessageContentMask) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DatagramConnectionTransport2DataType : Opc.Ua.DatagramConnectionTransportDataType + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum JsonDataSetMessageContentMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "DataSetWriterId_1")] + DataSetWriterId = 1, + + /// + [EnumMember(Value = "MetaDataVersion_2")] + MetaDataVersion = 2, + + /// + [EnumMember(Value = "SequenceNumber_4")] + SequenceNumber = 4, + + /// + [EnumMember(Value = "Timestamp_8")] + Timestamp = 8, + + /// + [EnumMember(Value = "Status_16")] + Status = 16, + + /// + [EnumMember(Value = "MessageType_32")] + MessageType = 32, + + /// + [EnumMember(Value = "DataSetWriterName_64")] + DataSetWriterName = 64, + + /// + [EnumMember(Value = "FieldEncoding1_128")] + FieldEncoding1 = 128, + + /// + [EnumMember(Value = "PublisherId_256")] + PublisherId = 256, + + /// + [EnumMember(Value = "WriterGroupName_512")] + WriterGroupName = 512, + + /// + [EnumMember(Value = "MinorVersion_1024")] + MinorVersion = 1024, + + /// + [EnumMember(Value = "FieldEncoding2_2048")] + FieldEncoding2 = 2048, + } + + #region JsonDataSetMessageContentMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfJsonDataSetMessageContentMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetMessageContentMask")] + public partial class JsonDataSetMessageContentMaskCollection : List, ICloneable { #region Constructors /// - public DatagramConnectionTransport2DataType() + public JsonDataSetMessageContentMaskCollection() {} + + /// + public JsonDataSetMessageContentMaskCollection(int capacity) : base(capacity) {} + + /// + public JsonDataSetMessageContentMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator JsonDataSetMessageContentMaskCollection(JsonDataSetMessageContentMask[] values) { - Initialize(); + if (values != null) + { + return new JsonDataSetMessageContentMaskCollection(values); + } + + return new JsonDataSetMessageContentMaskCollection(); } - [OnDeserializing] - private void Initialize(StreamingContext context) + /// + public static explicit operator JsonDataSetMessageContentMask[](JsonDataSetMessageContentMaskCollection values) { - Initialize(); + if (values != null) + { + return values.ToArray(); + } + + return null; } + #endregion - private void Initialize() + #region ICloneable Methods + /// + public object Clone() { - m_discoveryAnnounceRate = (uint)0; - m_discoveryMaxMessageSize = (uint)0; - m_qosCategory = null; - m_datagramQos = new ExtensionObjectCollection(); + return (JsonDataSetMessageContentMaskCollection)this.MemberwiseClone(); } #endregion - #region Public Properties - /// - [DataMember(Name = "DiscoveryAnnounceRate", IsRequired = false, Order = 1)] - public uint DiscoveryAnnounceRate + /// + public new object MemberwiseClone() { - get { return m_discoveryAnnounceRate; } - set { m_discoveryAnnounceRate = value; } + JsonDataSetMessageContentMaskCollection clone = new JsonDataSetMessageContentMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((JsonDataSetMessageContentMask)Utils.Clone(this[ii])); + } + + return clone; } + } + #endregion + #endif + #endregion + #region JsonDataSetWriterMessageDataType Class + #if (!OPCUA_EXCLUDE_JsonDataSetWriterMessageDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonDataSetWriterMessageDataType : Opc.Ua.DataSetWriterMessageDataType + { + #region Constructors /// - [DataMember(Name = "DiscoveryMaxMessageSize", IsRequired = false, Order = 2)] - public uint DiscoveryMaxMessageSize + public JsonDataSetWriterMessageDataType() { - get { return m_discoveryMaxMessageSize; } - set { m_discoveryMaxMessageSize = value; } + Initialize(); } - /// - [DataMember(Name = "QosCategory", IsRequired = false, Order = 3)] - public string QosCategory + [OnDeserializing] + private void Initialize(StreamingContext context) { - get { return m_qosCategory; } - set { m_qosCategory = value; } + Initialize(); + } + + private void Initialize() + { + m_dataSetMessageContentMask = 0; } + #endregion + #region Public Properties /// - [DataMember(Name = "DatagramQos", IsRequired = false, Order = 4)] - public ExtensionObjectCollection DatagramQos + [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 1)] + public uint DataSetMessageContentMask { - get { return m_datagramQos; } - set { m_datagramQos = value; } + get { return m_dataSetMessageContentMask; } + set { m_dataSetMessageContentMask = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DatagramConnectionTransport2DataType; + public override ExpandedNodeId TypeId => DataTypeIds.JsonDataSetWriterMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -19751,10 +21043,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("DiscoveryAnnounceRate", DiscoveryAnnounceRate); - encoder.WriteUInt32("DiscoveryMaxMessageSize", DiscoveryMaxMessageSize); - encoder.WriteString("QosCategory", QosCategory); - encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); + encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); encoder.PopNamespace(); } @@ -19766,10 +21055,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DiscoveryAnnounceRate = decoder.ReadUInt32("DiscoveryAnnounceRate"); - DiscoveryMaxMessageSize = decoder.ReadUInt32("DiscoveryMaxMessageSize"); - QosCategory = decoder.ReadString("QosCategory"); - DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); + DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); decoder.PopNamespace(); } @@ -19782,17 +21068,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - DatagramConnectionTransport2DataType value = encodeable as DatagramConnectionTransport2DataType; + JsonDataSetWriterMessageDataType value = encodeable as JsonDataSetWriterMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_discoveryAnnounceRate, value.m_discoveryAnnounceRate)) return false; - if (!Utils.IsEqual(m_discoveryMaxMessageSize, value.m_discoveryMaxMessageSize)) return false; - if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; - if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; + if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; return base.IsEqual(encodeable); } @@ -19800,63 +21083,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (DatagramConnectionTransport2DataType)this.MemberwiseClone(); + return (JsonDataSetWriterMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DatagramConnectionTransport2DataType clone = (DatagramConnectionTransport2DataType)base.MemberwiseClone(); + JsonDataSetWriterMessageDataType clone = (JsonDataSetWriterMessageDataType)base.MemberwiseClone(); - clone.m_discoveryAnnounceRate = (uint)Utils.Clone(this.m_discoveryAnnounceRate); - clone.m_discoveryMaxMessageSize = (uint)Utils.Clone(this.m_discoveryMaxMessageSize); - clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); - clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); + clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); return clone; } #endregion #region Private Fields - private uint m_discoveryAnnounceRate; - private uint m_discoveryMaxMessageSize; - private string m_qosCategory; - private ExtensionObjectCollection m_datagramQos; + private uint m_dataSetMessageContentMask; #endregion } - #region DatagramConnectionTransport2DataTypeCollection Class + #region JsonDataSetWriterMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDatagramConnectionTransport2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramConnectionTransport2DataType")] - public partial class DatagramConnectionTransport2DataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfJsonDataSetWriterMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetWriterMessageDataType")] + public partial class JsonDataSetWriterMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public DatagramConnectionTransport2DataTypeCollection() {} + public JsonDataSetWriterMessageDataTypeCollection() {} /// - public DatagramConnectionTransport2DataTypeCollection(int capacity) : base(capacity) {} + public JsonDataSetWriterMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public DatagramConnectionTransport2DataTypeCollection(IEnumerable collection) : base(collection) {} + public JsonDataSetWriterMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DatagramConnectionTransport2DataTypeCollection(DatagramConnectionTransport2DataType[] values) + public static implicit operator JsonDataSetWriterMessageDataTypeCollection(JsonDataSetWriterMessageDataType[] values) { if (values != null) { - return new DatagramConnectionTransport2DataTypeCollection(values); + return new JsonDataSetWriterMessageDataTypeCollection(values); } - return new DatagramConnectionTransport2DataTypeCollection(); + return new JsonDataSetWriterMessageDataTypeCollection(); } /// - public static explicit operator DatagramConnectionTransport2DataType[](DatagramConnectionTransport2DataTypeCollection values) + public static explicit operator JsonDataSetWriterMessageDataType[](JsonDataSetWriterMessageDataTypeCollection values) { if (values != null) { @@ -19871,18 +21148,18 @@ public static explicit operator DatagramConnectionTransport2DataType[](DatagramC /// public object Clone() { - return (DatagramConnectionTransport2DataTypeCollection)this.MemberwiseClone(); + return (JsonDataSetWriterMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DatagramConnectionTransport2DataTypeCollection clone = new DatagramConnectionTransport2DataTypeCollection(this.Count); + JsonDataSetWriterMessageDataTypeCollection clone = new JsonDataSetWriterMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DatagramConnectionTransport2DataType)Utils.Clone(this[ii])); + clone.Add((JsonDataSetWriterMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -19892,17 +21169,17 @@ public object Clone() #endif #endregion - #region DatagramWriterGroupTransportDataType Class - #if (!OPCUA_EXCLUDE_DatagramWriterGroupTransportDataType) + #region JsonDataSetReaderMessageDataType Class + #if (!OPCUA_EXCLUDE_JsonDataSetReaderMessageDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DatagramWriterGroupTransportDataType : Opc.Ua.WriterGroupTransportDataType + public partial class JsonDataSetReaderMessageDataType : Opc.Ua.DataSetReaderMessageDataType { #region Constructors /// - public DatagramWriterGroupTransportDataType() + public JsonDataSetReaderMessageDataType() { Initialize(); } @@ -19915,41 +21192,41 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_messageRepeatCount = (byte)0; - m_messageRepeatDelay = (double)0; + m_networkMessageContentMask = 0; + m_dataSetMessageContentMask = 0; } #endregion #region Public Properties /// - [DataMember(Name = "MessageRepeatCount", IsRequired = false, Order = 1)] - public byte MessageRepeatCount + [DataMember(Name = "NetworkMessageContentMask", IsRequired = false, Order = 1)] + public uint NetworkMessageContentMask { - get { return m_messageRepeatCount; } - set { m_messageRepeatCount = value; } + get { return m_networkMessageContentMask; } + set { m_networkMessageContentMask = value; } } /// - [DataMember(Name = "MessageRepeatDelay", IsRequired = false, Order = 2)] - public double MessageRepeatDelay + [DataMember(Name = "DataSetMessageContentMask", IsRequired = false, Order = 2)] + public uint DataSetMessageContentMask { - get { return m_messageRepeatDelay; } - set { m_messageRepeatDelay = value; } + get { return m_dataSetMessageContentMask; } + set { m_dataSetMessageContentMask = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DatagramWriterGroupTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.JsonDataSetReaderMessageDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -19958,8 +21235,8 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteByte("MessageRepeatCount", MessageRepeatCount); - encoder.WriteDouble("MessageRepeatDelay", MessageRepeatDelay); + encoder.WriteUInt32("NetworkMessageContentMask", NetworkMessageContentMask); + encoder.WriteUInt32("DataSetMessageContentMask", DataSetMessageContentMask); encoder.PopNamespace(); } @@ -19971,8 +21248,8 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageRepeatCount = decoder.ReadByte("MessageRepeatCount"); - MessageRepeatDelay = decoder.ReadDouble("MessageRepeatDelay"); + NetworkMessageContentMask = decoder.ReadUInt32("NetworkMessageContentMask"); + DataSetMessageContentMask = decoder.ReadUInt32("DataSetMessageContentMask"); decoder.PopNamespace(); } @@ -19985,15 +21262,15 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - DatagramWriterGroupTransportDataType value = encodeable as DatagramWriterGroupTransportDataType; + JsonDataSetReaderMessageDataType value = encodeable as JsonDataSetReaderMessageDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageRepeatCount, value.m_messageRepeatCount)) return false; - if (!Utils.IsEqual(m_messageRepeatDelay, value.m_messageRepeatDelay)) return false; + if (!Utils.IsEqual(m_networkMessageContentMask, value.m_networkMessageContentMask)) return false; + if (!Utils.IsEqual(m_dataSetMessageContentMask, value.m_dataSetMessageContentMask)) return false; return base.IsEqual(encodeable); } @@ -20001,59 +21278,59 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (DatagramWriterGroupTransportDataType)this.MemberwiseClone(); + return (JsonDataSetReaderMessageDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DatagramWriterGroupTransportDataType clone = (DatagramWriterGroupTransportDataType)base.MemberwiseClone(); + JsonDataSetReaderMessageDataType clone = (JsonDataSetReaderMessageDataType)base.MemberwiseClone(); - clone.m_messageRepeatCount = (byte)Utils.Clone(this.m_messageRepeatCount); - clone.m_messageRepeatDelay = (double)Utils.Clone(this.m_messageRepeatDelay); + clone.m_networkMessageContentMask = (uint)Utils.Clone(this.m_networkMessageContentMask); + clone.m_dataSetMessageContentMask = (uint)Utils.Clone(this.m_dataSetMessageContentMask); return clone; } #endregion #region Private Fields - private byte m_messageRepeatCount; - private double m_messageRepeatDelay; + private uint m_networkMessageContentMask; + private uint m_dataSetMessageContentMask; #endregion } - #region DatagramWriterGroupTransportDataTypeCollection Class + #region JsonDataSetReaderMessageDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDatagramWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramWriterGroupTransportDataType")] - public partial class DatagramWriterGroupTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfJsonDataSetReaderMessageDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "JsonDataSetReaderMessageDataType")] + public partial class JsonDataSetReaderMessageDataTypeCollection : List, ICloneable { #region Constructors /// - public DatagramWriterGroupTransportDataTypeCollection() {} + public JsonDataSetReaderMessageDataTypeCollection() {} /// - public DatagramWriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} + public JsonDataSetReaderMessageDataTypeCollection(int capacity) : base(capacity) {} /// - public DatagramWriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public JsonDataSetReaderMessageDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DatagramWriterGroupTransportDataTypeCollection(DatagramWriterGroupTransportDataType[] values) + public static implicit operator JsonDataSetReaderMessageDataTypeCollection(JsonDataSetReaderMessageDataType[] values) { if (values != null) { - return new DatagramWriterGroupTransportDataTypeCollection(values); + return new JsonDataSetReaderMessageDataTypeCollection(values); } - return new DatagramWriterGroupTransportDataTypeCollection(); + return new JsonDataSetReaderMessageDataTypeCollection(); } /// - public static explicit operator DatagramWriterGroupTransportDataType[](DatagramWriterGroupTransportDataTypeCollection values) + public static explicit operator JsonDataSetReaderMessageDataType[](JsonDataSetReaderMessageDataTypeCollection values) { if (values != null) { @@ -20068,18 +21345,18 @@ public static explicit operator DatagramWriterGroupTransportDataType[](DatagramW /// public object Clone() { - return (DatagramWriterGroupTransportDataTypeCollection)this.MemberwiseClone(); + return (JsonDataSetReaderMessageDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DatagramWriterGroupTransportDataTypeCollection clone = new DatagramWriterGroupTransportDataTypeCollection(this.Count); + JsonDataSetReaderMessageDataTypeCollection clone = new JsonDataSetReaderMessageDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DatagramWriterGroupTransportDataType)Utils.Clone(this[ii])); + clone.Add((JsonDataSetReaderMessageDataType)Utils.Clone(this[ii])); } return clone; @@ -20089,210 +21366,137 @@ public object Clone() #endif #endregion - #region DatagramWriterGroupTransport2DataType Class - #if (!OPCUA_EXCLUDE_DatagramWriterGroupTransport2DataType) + #region QosDataType Class + #if (!OPCUA_EXCLUDE_QosDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DatagramWriterGroupTransport2DataType : Opc.Ua.DatagramWriterGroupTransportDataType + public partial class QosDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public DatagramWriterGroupTransport2DataType() + public QosDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_address = null; - m_qosCategory = null; - m_datagramQos = new ExtensionObjectCollection(); - m_discoveryAnnounceRate = (uint)0; - m_topic = null; } #endregion #region Public Properties - /// - [DataMember(Name = "Address", IsRequired = false, Order = 1)] - public ExtensionObject Address - { - get { return m_address; } - set { m_address = value; } - } - - /// - [DataMember(Name = "QosCategory", IsRequired = false, Order = 2)] - public string QosCategory - { - get { return m_qosCategory; } - set { m_qosCategory = value; } - } - - /// - [DataMember(Name = "DatagramQos", IsRequired = false, Order = 3)] - public ExtensionObjectCollection DatagramQos - { - get { return m_datagramQos; } - set { m_datagramQos = value; } - } - - /// - [DataMember(Name = "DiscoveryAnnounceRate", IsRequired = false, Order = 4)] - public uint DiscoveryAnnounceRate - { - get { return m_discoveryAnnounceRate; } - set { m_discoveryAnnounceRate = value; } - } - - /// - [DataMember(Name = "Topic", IsRequired = false, Order = 5)] - public string Topic - { - get { return m_topic; } - set { m_topic = value; } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DatagramWriterGroupTransport2DataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.QosDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.QosDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.QosDataType_Encoding_DefaultXml; + /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.QosDataType_Encoding_DefaultJson; /// - public override void Encode(IEncoder encoder) + public virtual void Encode(IEncoder encoder) { - base.Encode(encoder); - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteExtensionObject("Address", Address); - encoder.WriteString("QosCategory", QosCategory); - encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); - encoder.WriteUInt32("DiscoveryAnnounceRate", DiscoveryAnnounceRate); - encoder.WriteString("Topic", Topic); encoder.PopNamespace(); } /// - public override void Decode(IDecoder decoder) + public virtual void Decode(IDecoder decoder) { - base.Decode(decoder); - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Address = decoder.ReadExtensionObject("Address"); - QosCategory = decoder.ReadString("QosCategory"); - DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); - DiscoveryAnnounceRate = decoder.ReadUInt32("DiscoveryAnnounceRate"); - Topic = decoder.ReadString("Topic"); decoder.PopNamespace(); } /// - public override bool IsEqual(IEncodeable encodeable) + public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - DatagramWriterGroupTransport2DataType value = encodeable as DatagramWriterGroupTransport2DataType; + QosDataType value = encodeable as QosDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_address, value.m_address)) return false; - if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; - if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; - if (!Utils.IsEqual(m_discoveryAnnounceRate, value.m_discoveryAnnounceRate)) return false; - if (!Utils.IsEqual(m_topic, value.m_topic)) return false; - return base.IsEqual(encodeable); - } + return true; + } /// - public override object Clone() + public virtual object Clone() { - return (DatagramWriterGroupTransport2DataType)this.MemberwiseClone(); + return (QosDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DatagramWriterGroupTransport2DataType clone = (DatagramWriterGroupTransport2DataType)base.MemberwiseClone(); + QosDataType clone = (QosDataType)base.MemberwiseClone(); - clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); - clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); - clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); - clone.m_discoveryAnnounceRate = (uint)Utils.Clone(this.m_discoveryAnnounceRate); - clone.m_topic = (string)Utils.Clone(this.m_topic); return clone; } #endregion #region Private Fields - private ExtensionObject m_address; - private string m_qosCategory; - private ExtensionObjectCollection m_datagramQos; - private uint m_discoveryAnnounceRate; - private string m_topic; #endregion } - #region DatagramWriterGroupTransport2DataTypeCollection Class + #region QosDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDatagramWriterGroupTransport2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramWriterGroupTransport2DataType")] - public partial class DatagramWriterGroupTransport2DataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "QosDataType")] + public partial class QosDataTypeCollection : List, ICloneable { #region Constructors /// - public DatagramWriterGroupTransport2DataTypeCollection() {} + public QosDataTypeCollection() {} /// - public DatagramWriterGroupTransport2DataTypeCollection(int capacity) : base(capacity) {} + public QosDataTypeCollection(int capacity) : base(capacity) {} /// - public DatagramWriterGroupTransport2DataTypeCollection(IEnumerable collection) : base(collection) {} + public QosDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DatagramWriterGroupTransport2DataTypeCollection(DatagramWriterGroupTransport2DataType[] values) + public static implicit operator QosDataTypeCollection(QosDataType[] values) { if (values != null) { - return new DatagramWriterGroupTransport2DataTypeCollection(values); + return new QosDataTypeCollection(values); } - return new DatagramWriterGroupTransport2DataTypeCollection(); + return new QosDataTypeCollection(); } /// - public static explicit operator DatagramWriterGroupTransport2DataType[](DatagramWriterGroupTransport2DataTypeCollection values) + public static explicit operator QosDataType[](QosDataTypeCollection values) { if (values != null) { @@ -20307,18 +21511,18 @@ public static explicit operator DatagramWriterGroupTransport2DataType[](Datagram /// public object Clone() { - return (DatagramWriterGroupTransport2DataTypeCollection)this.MemberwiseClone(); + return (QosDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DatagramWriterGroupTransport2DataTypeCollection clone = new DatagramWriterGroupTransport2DataTypeCollection(this.Count); + QosDataTypeCollection clone = new QosDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DatagramWriterGroupTransport2DataType)Utils.Clone(this[ii])); + clone.Add((QosDataType)Utils.Clone(this[ii])); } return clone; @@ -20328,17 +21532,17 @@ public object Clone() #endif #endregion - #region DatagramDataSetReaderTransportDataType Class - #if (!OPCUA_EXCLUDE_DatagramDataSetReaderTransportDataType) + #region TransmitQosDataType Class + #if (!OPCUA_EXCLUDE_TransmitQosDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DatagramDataSetReaderTransportDataType : Opc.Ua.DataSetReaderTransportDataType + public partial class TransmitQosDataType : Opc.Ua.QosDataType { #region Constructors /// - public DatagramDataSetReaderTransportDataType() + public TransmitQosDataType() { Initialize(); } @@ -20351,59 +21555,24 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_address = null; - m_qosCategory = null; - m_datagramQos = new ExtensionObjectCollection(); - m_topic = null; } #endregion #region Public Properties - /// - [DataMember(Name = "Address", IsRequired = false, Order = 1)] - public ExtensionObject Address - { - get { return m_address; } - set { m_address = value; } - } - - /// - [DataMember(Name = "QosCategory", IsRequired = false, Order = 2)] - public string QosCategory - { - get { return m_qosCategory; } - set { m_qosCategory = value; } - } - - /// - [DataMember(Name = "DatagramQos", IsRequired = false, Order = 3)] - public ExtensionObjectCollection DatagramQos - { - get { return m_datagramQos; } - set { m_datagramQos = value; } - } - - /// - [DataMember(Name = "Topic", IsRequired = false, Order = 4)] - public string Topic - { - get { return m_topic; } - set { m_topic = value; } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.DatagramDataSetReaderTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.TransmitQosDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.TransmitQosDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -20412,10 +21581,6 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteExtensionObject("Address", Address); - encoder.WriteString("QosCategory", QosCategory); - encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); - encoder.WriteString("Topic", Topic); encoder.PopNamespace(); } @@ -20427,10 +21592,6 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - Address = decoder.ReadExtensionObject("Address"); - QosCategory = decoder.ReadString("QosCategory"); - DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); - Topic = decoder.ReadString("Topic"); decoder.PopNamespace(); } @@ -20443,17 +21604,13 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - DatagramDataSetReaderTransportDataType value = encodeable as DatagramDataSetReaderTransportDataType; + TransmitQosDataType value = encodeable as TransmitQosDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_address, value.m_address)) return false; - if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; - if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; - if (!Utils.IsEqual(m_topic, value.m_topic)) return false; return base.IsEqual(encodeable); } @@ -20461,63 +21618,55 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (DatagramDataSetReaderTransportDataType)this.MemberwiseClone(); + return (TransmitQosDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DatagramDataSetReaderTransportDataType clone = (DatagramDataSetReaderTransportDataType)base.MemberwiseClone(); + TransmitQosDataType clone = (TransmitQosDataType)base.MemberwiseClone(); - clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); - clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); - clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); - clone.m_topic = (string)Utils.Clone(this.m_topic); return clone; } #endregion #region Private Fields - private ExtensionObject m_address; - private string m_qosCategory; - private ExtensionObjectCollection m_datagramQos; - private string m_topic; #endregion } - #region DatagramDataSetReaderTransportDataTypeCollection Class + #region TransmitQosDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDatagramDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramDataSetReaderTransportDataType")] - public partial class DatagramDataSetReaderTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTransmitQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransmitQosDataType")] + public partial class TransmitQosDataTypeCollection : List, ICloneable { #region Constructors /// - public DatagramDataSetReaderTransportDataTypeCollection() {} + public TransmitQosDataTypeCollection() {} /// - public DatagramDataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} + public TransmitQosDataTypeCollection(int capacity) : base(capacity) {} /// - public DatagramDataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public TransmitQosDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DatagramDataSetReaderTransportDataTypeCollection(DatagramDataSetReaderTransportDataType[] values) + public static implicit operator TransmitQosDataTypeCollection(TransmitQosDataType[] values) { if (values != null) { - return new DatagramDataSetReaderTransportDataTypeCollection(values); + return new TransmitQosDataTypeCollection(values); } - return new DatagramDataSetReaderTransportDataTypeCollection(); + return new TransmitQosDataTypeCollection(); } /// - public static explicit operator DatagramDataSetReaderTransportDataType[](DatagramDataSetReaderTransportDataTypeCollection values) + public static explicit operator TransmitQosDataType[](TransmitQosDataTypeCollection values) { if (values != null) { @@ -20532,18 +21681,18 @@ public static explicit operator DatagramDataSetReaderTransportDataType[](Datagra /// public object Clone() { - return (DatagramDataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); + return (TransmitQosDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DatagramDataSetReaderTransportDataTypeCollection clone = new DatagramDataSetReaderTransportDataTypeCollection(this.Count); + TransmitQosDataTypeCollection clone = new TransmitQosDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DatagramDataSetReaderTransportDataType)Utils.Clone(this[ii])); + clone.Add((TransmitQosDataType)Utils.Clone(this[ii])); } return clone; @@ -20553,218 +21702,154 @@ public object Clone() #endif #endregion - #region DtlsPubSubConnectionDataType Class - #if (!OPCUA_EXCLUDE_DtlsPubSubConnectionDataType) + #region TransmitQosPriorityDataType Class + #if (!OPCUA_EXCLUDE_TransmitQosPriorityDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class DtlsPubSubConnectionDataType : IEncodeable, IJsonEncodeable + public partial class TransmitQosPriorityDataType : Opc.Ua.TransmitQosDataType { #region Constructors /// - public DtlsPubSubConnectionDataType() + public TransmitQosPriorityDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_clientCipherSuite = null; - m_serverCipherSuites = new StringCollection(); - m_zeroRTT = true; - m_certificateGroupId = null; - m_verifyClientCertificate = true; + m_priorityLabel = null; } #endregion #region Public Properties /// - [DataMember(Name = "ClientCipherSuite", IsRequired = false, Order = 1)] - public string ClientCipherSuite - { - get { return m_clientCipherSuite; } - set { m_clientCipherSuite = value; } - } - - /// - [DataMember(Name = "ServerCipherSuites", IsRequired = false, Order = 2)] - public StringCollection ServerCipherSuites - { - get - { - return m_serverCipherSuites; - } - - set - { - m_serverCipherSuites = value; - - if (value == null) - { - m_serverCipherSuites = new StringCollection(); - } - } - } - - /// - [DataMember(Name = "ZeroRTT", IsRequired = false, Order = 3)] - public bool ZeroRTT - { - get { return m_zeroRTT; } - set { m_zeroRTT = value; } - } - - /// - [DataMember(Name = "CertificateGroupId", IsRequired = false, Order = 4)] - public NodeId CertificateGroupId - { - get { return m_certificateGroupId; } - set { m_certificateGroupId = value; } - } - - /// - [DataMember(Name = "VerifyClientCertificate", IsRequired = false, Order = 5)] - public bool VerifyClientCertificate + [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 1)] + public string PriorityLabel { - get { return m_verifyClientCertificate; } - set { m_verifyClientCertificate = value; } + get { return m_priorityLabel; } + set { m_priorityLabel = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.DtlsPubSubConnectionDataType; + public override ExpandedNodeId TypeId => DataTypeIds.TransmitQosPriorityDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.TransmitQosPriorityDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("ClientCipherSuite", ClientCipherSuite); - encoder.WriteStringArray("ServerCipherSuites", ServerCipherSuites); - encoder.WriteBoolean("ZeroRTT", ZeroRTT); - encoder.WriteNodeId("CertificateGroupId", CertificateGroupId); - encoder.WriteBoolean("VerifyClientCertificate", VerifyClientCertificate); + encoder.WriteString("PriorityLabel", PriorityLabel); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ClientCipherSuite = decoder.ReadString("ClientCipherSuite"); - ServerCipherSuites = decoder.ReadStringArray("ServerCipherSuites"); - ZeroRTT = decoder.ReadBoolean("ZeroRTT"); - CertificateGroupId = decoder.ReadNodeId("CertificateGroupId"); - VerifyClientCertificate = decoder.ReadBoolean("VerifyClientCertificate"); + PriorityLabel = decoder.ReadString("PriorityLabel"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - DtlsPubSubConnectionDataType value = encodeable as DtlsPubSubConnectionDataType; + TransmitQosPriorityDataType value = encodeable as TransmitQosPriorityDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_clientCipherSuite, value.m_clientCipherSuite)) return false; - if (!Utils.IsEqual(m_serverCipherSuites, value.m_serverCipherSuites)) return false; - if (!Utils.IsEqual(m_zeroRTT, value.m_zeroRTT)) return false; - if (!Utils.IsEqual(m_certificateGroupId, value.m_certificateGroupId)) return false; - if (!Utils.IsEqual(m_verifyClientCertificate, value.m_verifyClientCertificate)) return false; + if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (DtlsPubSubConnectionDataType)this.MemberwiseClone(); + return (TransmitQosPriorityDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - DtlsPubSubConnectionDataType clone = (DtlsPubSubConnectionDataType)base.MemberwiseClone(); + TransmitQosPriorityDataType clone = (TransmitQosPriorityDataType)base.MemberwiseClone(); - clone.m_clientCipherSuite = (string)Utils.Clone(this.m_clientCipherSuite); - clone.m_serverCipherSuites = (StringCollection)Utils.Clone(this.m_serverCipherSuites); - clone.m_zeroRTT = (bool)Utils.Clone(this.m_zeroRTT); - clone.m_certificateGroupId = (NodeId)Utils.Clone(this.m_certificateGroupId); - clone.m_verifyClientCertificate = (bool)Utils.Clone(this.m_verifyClientCertificate); + clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); return clone; } #endregion #region Private Fields - private string m_clientCipherSuite; - private StringCollection m_serverCipherSuites; - private bool m_zeroRTT; - private NodeId m_certificateGroupId; - private bool m_verifyClientCertificate; + private string m_priorityLabel; #endregion } - #region DtlsPubSubConnectionDataTypeCollection Class + #region TransmitQosPriorityDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDtlsPubSubConnectionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DtlsPubSubConnectionDataType")] - public partial class DtlsPubSubConnectionDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTransmitQosPriorityDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TransmitQosPriorityDataType")] + public partial class TransmitQosPriorityDataTypeCollection : List, ICloneable { #region Constructors /// - public DtlsPubSubConnectionDataTypeCollection() {} + public TransmitQosPriorityDataTypeCollection() {} /// - public DtlsPubSubConnectionDataTypeCollection(int capacity) : base(capacity) {} + public TransmitQosPriorityDataTypeCollection(int capacity) : base(capacity) {} /// - public DtlsPubSubConnectionDataTypeCollection(IEnumerable collection) : base(collection) {} + public TransmitQosPriorityDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DtlsPubSubConnectionDataTypeCollection(DtlsPubSubConnectionDataType[] values) + public static implicit operator TransmitQosPriorityDataTypeCollection(TransmitQosPriorityDataType[] values) { if (values != null) { - return new DtlsPubSubConnectionDataTypeCollection(values); + return new TransmitQosPriorityDataTypeCollection(values); } - return new DtlsPubSubConnectionDataTypeCollection(); + return new TransmitQosPriorityDataTypeCollection(); } /// - public static explicit operator DtlsPubSubConnectionDataType[](DtlsPubSubConnectionDataTypeCollection values) + public static explicit operator TransmitQosPriorityDataType[](TransmitQosPriorityDataTypeCollection values) { if (values != null) { @@ -20779,18 +21864,18 @@ public static explicit operator DtlsPubSubConnectionDataType[](DtlsPubSubConnect /// public object Clone() { - return (DtlsPubSubConnectionDataTypeCollection)this.MemberwiseClone(); + return (TransmitQosPriorityDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DtlsPubSubConnectionDataTypeCollection clone = new DtlsPubSubConnectionDataTypeCollection(this.Count); + TransmitQosPriorityDataTypeCollection clone = new TransmitQosPriorityDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DtlsPubSubConnectionDataType)Utils.Clone(this[ii])); + clone.Add((TransmitQosPriorityDataType)Utils.Clone(this[ii])); } return clone; @@ -20800,17 +21885,17 @@ public object Clone() #endif #endregion - #region BrokerConnectionTransportDataType Class - #if (!OPCUA_EXCLUDE_BrokerConnectionTransportDataType) + #region ReceiveQosDataType Class + #if (!OPCUA_EXCLUDE_ReceiveQosDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class BrokerConnectionTransportDataType : Opc.Ua.ConnectionTransportDataType + public partial class ReceiveQosDataType : Opc.Ua.QosDataType { #region Constructors /// - public BrokerConnectionTransportDataType() + public ReceiveQosDataType() { Initialize(); } @@ -20823,41 +21908,24 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_resourceUri = null; - m_authenticationProfileUri = null; } #endregion #region Public Properties - /// - [DataMember(Name = "ResourceUri", IsRequired = false, Order = 1)] - public string ResourceUri - { - get { return m_resourceUri; } - set { m_resourceUri = value; } - } - - /// - [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 2)] - public string AuthenticationProfileUri - { - get { return m_authenticationProfileUri; } - set { m_authenticationProfileUri = value; } - } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.BrokerConnectionTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.ReceiveQosDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.ReceiveQosDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -20866,8 +21934,6 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("ResourceUri", ResourceUri); - encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); encoder.PopNamespace(); } @@ -20879,8 +21945,6 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ResourceUri = decoder.ReadString("ResourceUri"); - AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); decoder.PopNamespace(); } @@ -20893,15 +21957,13 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - BrokerConnectionTransportDataType value = encodeable as BrokerConnectionTransportDataType; + ReceiveQosDataType value = encodeable as ReceiveQosDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; - if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; return base.IsEqual(encodeable); } @@ -20909,59 +21971,55 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (BrokerConnectionTransportDataType)this.MemberwiseClone(); + return (ReceiveQosDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - BrokerConnectionTransportDataType clone = (BrokerConnectionTransportDataType)base.MemberwiseClone(); + ReceiveQosDataType clone = (ReceiveQosDataType)base.MemberwiseClone(); - clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); - clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); return clone; } #endregion #region Private Fields - private string m_resourceUri; - private string m_authenticationProfileUri; #endregion } - #region BrokerConnectionTransportDataTypeCollection Class + #region ReceiveQosDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfBrokerConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerConnectionTransportDataType")] - public partial class BrokerConnectionTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReceiveQosDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReceiveQosDataType")] + public partial class ReceiveQosDataTypeCollection : List, ICloneable { #region Constructors /// - public BrokerConnectionTransportDataTypeCollection() {} + public ReceiveQosDataTypeCollection() {} /// - public BrokerConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} + public ReceiveQosDataTypeCollection(int capacity) : base(capacity) {} /// - public BrokerConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public ReceiveQosDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator BrokerConnectionTransportDataTypeCollection(BrokerConnectionTransportDataType[] values) + public static implicit operator ReceiveQosDataTypeCollection(ReceiveQosDataType[] values) { if (values != null) { - return new BrokerConnectionTransportDataTypeCollection(values); + return new ReceiveQosDataTypeCollection(values); } - return new BrokerConnectionTransportDataTypeCollection(); + return new ReceiveQosDataTypeCollection(); } /// - public static explicit operator BrokerConnectionTransportDataType[](BrokerConnectionTransportDataTypeCollection values) + public static explicit operator ReceiveQosDataType[](ReceiveQosDataTypeCollection values) { if (values != null) { @@ -20976,18 +22034,18 @@ public static explicit operator BrokerConnectionTransportDataType[](BrokerConnec /// public object Clone() { - return (BrokerConnectionTransportDataTypeCollection)this.MemberwiseClone(); + return (ReceiveQosDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - BrokerConnectionTransportDataTypeCollection clone = new BrokerConnectionTransportDataTypeCollection(this.Count); + ReceiveQosDataTypeCollection clone = new ReceiveQosDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((BrokerConnectionTransportDataType)Utils.Clone(this[ii])); + clone.Add((ReceiveQosDataType)Utils.Clone(this[ii])); } return clone; @@ -20997,67 +22055,154 @@ public object Clone() #endif #endregion - #region BrokerTransportQualityOfService Enumeration - #if (!OPCUA_EXCLUDE_BrokerTransportQualityOfService) + #region ReceiveQosPriorityDataType Class + #if (!OPCUA_EXCLUDE_ReceiveQosPriorityDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum BrokerTransportQualityOfService + public partial class ReceiveQosPriorityDataType : Opc.Ua.ReceiveQosDataType { + #region Constructors /// - [EnumMember(Value = "NotSpecified_0")] - NotSpecified = 0, + public ReceiveQosPriorityDataType() + { + Initialize(); + } - /// - [EnumMember(Value = "BestEffort_1")] - BestEffort = 1, + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } - /// - [EnumMember(Value = "AtLeastOnce_2")] - AtLeastOnce = 2, + private void Initialize() + { + m_priorityLabel = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "AtMostOnce_3")] - AtMostOnce = 3, + [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 1)] + public string PriorityLabel + { + get { return m_priorityLabel; } + set { m_priorityLabel = value; } + } + #endregion - /// - [EnumMember(Value = "ExactlyOnce_4")] - ExactlyOnce = 4, - } + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.ReceiveQosPriorityDataType; - #region BrokerTransportQualityOfServiceCollection Class - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfBrokerTransportQualityOfService", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerTransportQualityOfService")] - public partial class BrokerTransportQualityOfServiceCollection : List, ICloneable + /// + public override ExpandedNodeId BinaryEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultBinary; + + /// + public override ExpandedNodeId XmlEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultXml; + + /// + public override ExpandedNodeId JsonEncodingId => ObjectIds.ReceiveQosPriorityDataType_Encoding_DefaultJson; + + /// + public override void Encode(IEncoder encoder) + { + base.Encode(encoder); + + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("PriorityLabel", PriorityLabel); + + encoder.PopNamespace(); + } + + /// + public override void Decode(IDecoder decoder) + { + base.Decode(decoder); + + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + PriorityLabel = decoder.ReadString("PriorityLabel"); + + decoder.PopNamespace(); + } + + /// + public override bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + ReceiveQosPriorityDataType value = encodeable as ReceiveQosPriorityDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; + + return base.IsEqual(encodeable); + } + + /// + public override object Clone() + { + return (ReceiveQosPriorityDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + ReceiveQosPriorityDataType clone = (ReceiveQosPriorityDataType)base.MemberwiseClone(); + + clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); + + return clone; + } + #endregion + + #region Private Fields + private string m_priorityLabel; + #endregion + } + + #region ReceiveQosPriorityDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfReceiveQosPriorityDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReceiveQosPriorityDataType")] + public partial class ReceiveQosPriorityDataTypeCollection : List, ICloneable { #region Constructors /// - public BrokerTransportQualityOfServiceCollection() {} + public ReceiveQosPriorityDataTypeCollection() {} /// - public BrokerTransportQualityOfServiceCollection(int capacity) : base(capacity) {} + public ReceiveQosPriorityDataTypeCollection(int capacity) : base(capacity) {} /// - public BrokerTransportQualityOfServiceCollection(IEnumerable collection) : base(collection) {} + public ReceiveQosPriorityDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator BrokerTransportQualityOfServiceCollection(BrokerTransportQualityOfService[] values) + public static implicit operator ReceiveQosPriorityDataTypeCollection(ReceiveQosPriorityDataType[] values) { if (values != null) { - return new BrokerTransportQualityOfServiceCollection(values); + return new ReceiveQosPriorityDataTypeCollection(values); } - return new BrokerTransportQualityOfServiceCollection(); + return new ReceiveQosPriorityDataTypeCollection(); } /// - public static explicit operator BrokerTransportQualityOfService[](BrokerTransportQualityOfServiceCollection values) + public static explicit operator ReceiveQosPriorityDataType[](ReceiveQosPriorityDataTypeCollection values) { if (values != null) { @@ -21072,18 +22217,18 @@ public static explicit operator BrokerTransportQualityOfService[](BrokerTranspor /// public object Clone() { - return (BrokerTransportQualityOfServiceCollection)this.MemberwiseClone(); + return (ReceiveQosPriorityDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - BrokerTransportQualityOfServiceCollection clone = new BrokerTransportQualityOfServiceCollection(this.Count); + ReceiveQosPriorityDataTypeCollection clone = new ReceiveQosPriorityDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((BrokerTransportQualityOfService)Utils.Clone(this[ii])); + clone.Add((ReceiveQosPriorityDataType)Utils.Clone(this[ii])); } return clone; @@ -21093,17 +22238,17 @@ public object Clone() #endif #endregion - #region BrokerWriterGroupTransportDataType Class - #if (!OPCUA_EXCLUDE_BrokerWriterGroupTransportDataType) + #region DatagramConnectionTransportDataType Class + #if (!OPCUA_EXCLUDE_DatagramConnectionTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class BrokerWriterGroupTransportDataType : Opc.Ua.WriterGroupTransportDataType + public partial class DatagramConnectionTransportDataType : Opc.Ua.ConnectionTransportDataType { #region Constructors /// - public BrokerWriterGroupTransportDataType() + public DatagramConnectionTransportDataType() { Initialize(); } @@ -21116,59 +22261,32 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_queueName = null; - m_resourceUri = null; - m_authenticationProfileUri = null; - m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; + m_discoveryAddress = null; } #endregion #region Public Properties /// - [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] - public string QueueName - { - get { return m_queueName; } - set { m_queueName = value; } - } - - /// - [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] - public string ResourceUri - { - get { return m_resourceUri; } - set { m_resourceUri = value; } - } - - /// - [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] - public string AuthenticationProfileUri - { - get { return m_authenticationProfileUri; } - set { m_authenticationProfileUri = value; } - } - - /// - [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] - public BrokerTransportQualityOfService RequestedDeliveryGuarantee + [DataMember(Name = "DiscoveryAddress", IsRequired = false, Order = 1)] + public ExtensionObject DiscoveryAddress { - get { return m_requestedDeliveryGuarantee; } - set { m_requestedDeliveryGuarantee = value; } + get { return m_discoveryAddress; } + set { m_discoveryAddress = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.BrokerWriterGroupTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.DatagramConnectionTransportDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -21177,10 +22295,7 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("QueueName", QueueName); - encoder.WriteString("ResourceUri", ResourceUri); - encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); - encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); + encoder.WriteExtensionObject("DiscoveryAddress", DiscoveryAddress); encoder.PopNamespace(); } @@ -21192,10 +22307,7 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - QueueName = decoder.ReadString("QueueName"); - ResourceUri = decoder.ReadString("ResourceUri"); - AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); - RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); + DiscoveryAddress = decoder.ReadExtensionObject("DiscoveryAddress"); decoder.PopNamespace(); } @@ -21208,17 +22320,14 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - BrokerWriterGroupTransportDataType value = encodeable as BrokerWriterGroupTransportDataType; + DatagramConnectionTransportDataType value = encodeable as DatagramConnectionTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; - if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; - if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; - if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; + if (!Utils.IsEqual(m_discoveryAddress, value.m_discoveryAddress)) return false; return base.IsEqual(encodeable); } @@ -21226,63 +22335,57 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (BrokerWriterGroupTransportDataType)this.MemberwiseClone(); + return (DatagramConnectionTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - BrokerWriterGroupTransportDataType clone = (BrokerWriterGroupTransportDataType)base.MemberwiseClone(); + DatagramConnectionTransportDataType clone = (DatagramConnectionTransportDataType)base.MemberwiseClone(); - clone.m_queueName = (string)Utils.Clone(this.m_queueName); - clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); - clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); - clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); + clone.m_discoveryAddress = (ExtensionObject)Utils.Clone(this.m_discoveryAddress); return clone; } #endregion #region Private Fields - private string m_queueName; - private string m_resourceUri; - private string m_authenticationProfileUri; - private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; + private ExtensionObject m_discoveryAddress; #endregion } - #region BrokerWriterGroupTransportDataTypeCollection Class + #region DatagramConnectionTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfBrokerWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerWriterGroupTransportDataType")] - public partial class BrokerWriterGroupTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDatagramConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramConnectionTransportDataType")] + public partial class DatagramConnectionTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public BrokerWriterGroupTransportDataTypeCollection() {} + public DatagramConnectionTransportDataTypeCollection() {} /// - public BrokerWriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} + public DatagramConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public BrokerWriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public DatagramConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator BrokerWriterGroupTransportDataTypeCollection(BrokerWriterGroupTransportDataType[] values) + public static implicit operator DatagramConnectionTransportDataTypeCollection(DatagramConnectionTransportDataType[] values) { if (values != null) { - return new BrokerWriterGroupTransportDataTypeCollection(values); + return new DatagramConnectionTransportDataTypeCollection(values); } - return new BrokerWriterGroupTransportDataTypeCollection(); + return new DatagramConnectionTransportDataTypeCollection(); } /// - public static explicit operator BrokerWriterGroupTransportDataType[](BrokerWriterGroupTransportDataTypeCollection values) + public static explicit operator DatagramConnectionTransportDataType[](DatagramConnectionTransportDataTypeCollection values) { if (values != null) { @@ -21297,18 +22400,18 @@ public static explicit operator BrokerWriterGroupTransportDataType[](BrokerWrite /// public object Clone() { - return (BrokerWriterGroupTransportDataTypeCollection)this.MemberwiseClone(); + return (DatagramConnectionTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - BrokerWriterGroupTransportDataTypeCollection clone = new BrokerWriterGroupTransportDataTypeCollection(this.Count); + DatagramConnectionTransportDataTypeCollection clone = new DatagramConnectionTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((BrokerWriterGroupTransportDataType)Utils.Clone(this[ii])); + clone.Add((DatagramConnectionTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -21318,17 +22421,17 @@ public object Clone() #endif #endregion - #region BrokerDataSetWriterTransportDataType Class - #if (!OPCUA_EXCLUDE_BrokerDataSetWriterTransportDataType) + #region DatagramConnectionTransport2DataType Class + #if (!OPCUA_EXCLUDE_DatagramConnectionTransport2DataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class BrokerDataSetWriterTransportDataType : Opc.Ua.DataSetWriterTransportDataType + public partial class DatagramConnectionTransport2DataType : Opc.Ua.DatagramConnectionTransportDataType { #region Constructors /// - public BrokerDataSetWriterTransportDataType() + public DatagramConnectionTransport2DataType() { Initialize(); } @@ -21341,77 +22444,59 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_queueName = null; - m_resourceUri = null; - m_authenticationProfileUri = null; - m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; - m_metaDataQueueName = null; - m_metaDataUpdateTime = (double)0; + m_discoveryAnnounceRate = (uint)0; + m_discoveryMaxMessageSize = (uint)0; + m_qosCategory = null; + m_datagramQos = new ExtensionObjectCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] - public string QueueName - { - get { return m_queueName; } - set { m_queueName = value; } - } - - /// - [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] - public string ResourceUri - { - get { return m_resourceUri; } - set { m_resourceUri = value; } - } - - /// - [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] - public string AuthenticationProfileUri + [DataMember(Name = "DiscoveryAnnounceRate", IsRequired = false, Order = 1)] + public uint DiscoveryAnnounceRate { - get { return m_authenticationProfileUri; } - set { m_authenticationProfileUri = value; } + get { return m_discoveryAnnounceRate; } + set { m_discoveryAnnounceRate = value; } } /// - [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] - public BrokerTransportQualityOfService RequestedDeliveryGuarantee + [DataMember(Name = "DiscoveryMaxMessageSize", IsRequired = false, Order = 2)] + public uint DiscoveryMaxMessageSize { - get { return m_requestedDeliveryGuarantee; } - set { m_requestedDeliveryGuarantee = value; } + get { return m_discoveryMaxMessageSize; } + set { m_discoveryMaxMessageSize = value; } } /// - [DataMember(Name = "MetaDataQueueName", IsRequired = false, Order = 5)] - public string MetaDataQueueName + [DataMember(Name = "QosCategory", IsRequired = false, Order = 3)] + public string QosCategory { - get { return m_metaDataQueueName; } - set { m_metaDataQueueName = value; } + get { return m_qosCategory; } + set { m_qosCategory = value; } } /// - [DataMember(Name = "MetaDataUpdateTime", IsRequired = false, Order = 6)] - public double MetaDataUpdateTime + [DataMember(Name = "DatagramQos", IsRequired = false, Order = 4)] + public ExtensionObjectCollection DatagramQos { - get { return m_metaDataUpdateTime; } - set { m_metaDataUpdateTime = value; } + get { return m_datagramQos; } + set { m_datagramQos = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.BrokerDataSetWriterTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.DatagramConnectionTransport2DataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramConnectionTransport2DataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -21420,12 +22505,10 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("QueueName", QueueName); - encoder.WriteString("ResourceUri", ResourceUri); - encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); - encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); - encoder.WriteString("MetaDataQueueName", MetaDataQueueName); - encoder.WriteDouble("MetaDataUpdateTime", MetaDataUpdateTime); + encoder.WriteUInt32("DiscoveryAnnounceRate", DiscoveryAnnounceRate); + encoder.WriteUInt32("DiscoveryMaxMessageSize", DiscoveryMaxMessageSize); + encoder.WriteString("QosCategory", QosCategory); + encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); encoder.PopNamespace(); } @@ -21437,12 +22520,10 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - QueueName = decoder.ReadString("QueueName"); - ResourceUri = decoder.ReadString("ResourceUri"); - AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); - RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); - MetaDataQueueName = decoder.ReadString("MetaDataQueueName"); - MetaDataUpdateTime = decoder.ReadDouble("MetaDataUpdateTime"); + DiscoveryAnnounceRate = decoder.ReadUInt32("DiscoveryAnnounceRate"); + DiscoveryMaxMessageSize = decoder.ReadUInt32("DiscoveryMaxMessageSize"); + QosCategory = decoder.ReadString("QosCategory"); + DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); decoder.PopNamespace(); } @@ -21455,19 +22536,17 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - BrokerDataSetWriterTransportDataType value = encodeable as BrokerDataSetWriterTransportDataType; + DatagramConnectionTransport2DataType value = encodeable as DatagramConnectionTransport2DataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; - if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; - if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; - if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; - if (!Utils.IsEqual(m_metaDataQueueName, value.m_metaDataQueueName)) return false; - if (!Utils.IsEqual(m_metaDataUpdateTime, value.m_metaDataUpdateTime)) return false; + if (!Utils.IsEqual(m_discoveryAnnounceRate, value.m_discoveryAnnounceRate)) return false; + if (!Utils.IsEqual(m_discoveryMaxMessageSize, value.m_discoveryMaxMessageSize)) return false; + if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; + if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; return base.IsEqual(encodeable); } @@ -21475,67 +22554,63 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (BrokerDataSetWriterTransportDataType)this.MemberwiseClone(); + return (DatagramConnectionTransport2DataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - BrokerDataSetWriterTransportDataType clone = (BrokerDataSetWriterTransportDataType)base.MemberwiseClone(); + DatagramConnectionTransport2DataType clone = (DatagramConnectionTransport2DataType)base.MemberwiseClone(); - clone.m_queueName = (string)Utils.Clone(this.m_queueName); - clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); - clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); - clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); - clone.m_metaDataQueueName = (string)Utils.Clone(this.m_metaDataQueueName); - clone.m_metaDataUpdateTime = (double)Utils.Clone(this.m_metaDataUpdateTime); + clone.m_discoveryAnnounceRate = (uint)Utils.Clone(this.m_discoveryAnnounceRate); + clone.m_discoveryMaxMessageSize = (uint)Utils.Clone(this.m_discoveryMaxMessageSize); + clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); + clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); return clone; } #endregion #region Private Fields - private string m_queueName; - private string m_resourceUri; - private string m_authenticationProfileUri; - private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; - private string m_metaDataQueueName; - private double m_metaDataUpdateTime; + private uint m_discoveryAnnounceRate; + private uint m_discoveryMaxMessageSize; + private string m_qosCategory; + private ExtensionObjectCollection m_datagramQos; #endregion } - #region BrokerDataSetWriterTransportDataTypeCollection Class + #region DatagramConnectionTransport2DataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfBrokerDataSetWriterTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerDataSetWriterTransportDataType")] - public partial class BrokerDataSetWriterTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDatagramConnectionTransport2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramConnectionTransport2DataType")] + public partial class DatagramConnectionTransport2DataTypeCollection : List, ICloneable { #region Constructors /// - public BrokerDataSetWriterTransportDataTypeCollection() {} + public DatagramConnectionTransport2DataTypeCollection() {} /// - public BrokerDataSetWriterTransportDataTypeCollection(int capacity) : base(capacity) {} + public DatagramConnectionTransport2DataTypeCollection(int capacity) : base(capacity) {} /// - public BrokerDataSetWriterTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public DatagramConnectionTransport2DataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator BrokerDataSetWriterTransportDataTypeCollection(BrokerDataSetWriterTransportDataType[] values) + public static implicit operator DatagramConnectionTransport2DataTypeCollection(DatagramConnectionTransport2DataType[] values) { if (values != null) { - return new BrokerDataSetWriterTransportDataTypeCollection(values); + return new DatagramConnectionTransport2DataTypeCollection(values); } - return new BrokerDataSetWriterTransportDataTypeCollection(); + return new DatagramConnectionTransport2DataTypeCollection(); } /// - public static explicit operator BrokerDataSetWriterTransportDataType[](BrokerDataSetWriterTransportDataTypeCollection values) + public static explicit operator DatagramConnectionTransport2DataType[](DatagramConnectionTransport2DataTypeCollection values) { if (values != null) { @@ -21550,18 +22625,18 @@ public static explicit operator BrokerDataSetWriterTransportDataType[](BrokerDat /// public object Clone() { - return (BrokerDataSetWriterTransportDataTypeCollection)this.MemberwiseClone(); + return (DatagramConnectionTransport2DataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - BrokerDataSetWriterTransportDataTypeCollection clone = new BrokerDataSetWriterTransportDataTypeCollection(this.Count); + DatagramConnectionTransport2DataTypeCollection clone = new DatagramConnectionTransport2DataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((BrokerDataSetWriterTransportDataType)Utils.Clone(this[ii])); + clone.Add((DatagramConnectionTransport2DataType)Utils.Clone(this[ii])); } return clone; @@ -21571,17 +22646,17 @@ public object Clone() #endif #endregion - #region BrokerDataSetReaderTransportDataType Class - #if (!OPCUA_EXCLUDE_BrokerDataSetReaderTransportDataType) + #region DatagramWriterGroupTransportDataType Class + #if (!OPCUA_EXCLUDE_DatagramWriterGroupTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class BrokerDataSetReaderTransportDataType : Opc.Ua.DataSetReaderTransportDataType + public partial class DatagramWriterGroupTransportDataType : Opc.Ua.WriterGroupTransportDataType { #region Constructors /// - public BrokerDataSetReaderTransportDataType() + public DatagramWriterGroupTransportDataType() { Initialize(); } @@ -21594,68 +22669,41 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_queueName = null; - m_resourceUri = null; - m_authenticationProfileUri = null; - m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; - m_metaDataQueueName = null; + m_messageRepeatCount = (byte)0; + m_messageRepeatDelay = (double)0; } #endregion #region Public Properties /// - [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] - public string QueueName - { - get { return m_queueName; } - set { m_queueName = value; } - } - - /// - [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] - public string ResourceUri - { - get { return m_resourceUri; } - set { m_resourceUri = value; } - } - - /// - [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] - public string AuthenticationProfileUri - { - get { return m_authenticationProfileUri; } - set { m_authenticationProfileUri = value; } - } - - /// - [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] - public BrokerTransportQualityOfService RequestedDeliveryGuarantee + [DataMember(Name = "MessageRepeatCount", IsRequired = false, Order = 1)] + public byte MessageRepeatCount { - get { return m_requestedDeliveryGuarantee; } - set { m_requestedDeliveryGuarantee = value; } + get { return m_messageRepeatCount; } + set { m_messageRepeatCount = value; } } /// - [DataMember(Name = "MetaDataQueueName", IsRequired = false, Order = 5)] - public string MetaDataQueueName + [DataMember(Name = "MessageRepeatDelay", IsRequired = false, Order = 2)] + public double MessageRepeatDelay { - get { return m_metaDataQueueName; } - set { m_metaDataQueueName = value; } + get { return m_messageRepeatDelay; } + set { m_messageRepeatDelay = value; } } #endregion #region IEncodeable Members /// - public override ExpandedNodeId TypeId => DataTypeIds.BrokerDataSetReaderTransportDataType; + public override ExpandedNodeId TypeId => DataTypeIds.DatagramWriterGroupTransportDataType; /// - public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultBinary; /// - public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultXml; + public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultXml; /// - public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultJson; /// public override void Encode(IEncoder encoder) @@ -21664,11 +22712,8 @@ public override void Encode(IEncoder encoder) encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("QueueName", QueueName); - encoder.WriteString("ResourceUri", ResourceUri); - encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); - encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); - encoder.WriteString("MetaDataQueueName", MetaDataQueueName); + encoder.WriteByte("MessageRepeatCount", MessageRepeatCount); + encoder.WriteDouble("MessageRepeatDelay", MessageRepeatDelay); encoder.PopNamespace(); } @@ -21680,11 +22725,8 @@ public override void Decode(IDecoder decoder) decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - QueueName = decoder.ReadString("QueueName"); - ResourceUri = decoder.ReadString("ResourceUri"); - AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); - RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); - MetaDataQueueName = decoder.ReadString("MetaDataQueueName"); + MessageRepeatCount = decoder.ReadByte("MessageRepeatCount"); + MessageRepeatDelay = decoder.ReadDouble("MessageRepeatDelay"); decoder.PopNamespace(); } @@ -21697,18 +22739,15 @@ public override bool IsEqual(IEncodeable encodeable) return true; } - BrokerDataSetReaderTransportDataType value = encodeable as BrokerDataSetReaderTransportDataType; + DatagramWriterGroupTransportDataType value = encodeable as DatagramWriterGroupTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; - if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; - if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; - if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; - if (!Utils.IsEqual(m_metaDataQueueName, value.m_metaDataQueueName)) return false; + if (!Utils.IsEqual(m_messageRepeatCount, value.m_messageRepeatCount)) return false; + if (!Utils.IsEqual(m_messageRepeatDelay, value.m_messageRepeatDelay)) return false; return base.IsEqual(encodeable); } @@ -21716,65 +22755,59 @@ public override bool IsEqual(IEncodeable encodeable) /// public override object Clone() { - return (BrokerDataSetReaderTransportDataType)this.MemberwiseClone(); + return (DatagramWriterGroupTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - BrokerDataSetReaderTransportDataType clone = (BrokerDataSetReaderTransportDataType)base.MemberwiseClone(); + DatagramWriterGroupTransportDataType clone = (DatagramWriterGroupTransportDataType)base.MemberwiseClone(); - clone.m_queueName = (string)Utils.Clone(this.m_queueName); - clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); - clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); - clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); - clone.m_metaDataQueueName = (string)Utils.Clone(this.m_metaDataQueueName); + clone.m_messageRepeatCount = (byte)Utils.Clone(this.m_messageRepeatCount); + clone.m_messageRepeatDelay = (double)Utils.Clone(this.m_messageRepeatDelay); return clone; } #endregion #region Private Fields - private string m_queueName; - private string m_resourceUri; - private string m_authenticationProfileUri; - private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; - private string m_metaDataQueueName; + private byte m_messageRepeatCount; + private double m_messageRepeatDelay; #endregion } - #region BrokerDataSetReaderTransportDataTypeCollection Class + #region DatagramWriterGroupTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfBrokerDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerDataSetReaderTransportDataType")] - public partial class BrokerDataSetReaderTransportDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDatagramWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramWriterGroupTransportDataType")] + public partial class DatagramWriterGroupTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public BrokerDataSetReaderTransportDataTypeCollection() {} + public DatagramWriterGroupTransportDataTypeCollection() {} /// - public BrokerDataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} + public DatagramWriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public BrokerDataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + public DatagramWriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator BrokerDataSetReaderTransportDataTypeCollection(BrokerDataSetReaderTransportDataType[] values) + public static implicit operator DatagramWriterGroupTransportDataTypeCollection(DatagramWriterGroupTransportDataType[] values) { if (values != null) { - return new BrokerDataSetReaderTransportDataTypeCollection(values); + return new DatagramWriterGroupTransportDataTypeCollection(values); } - return new BrokerDataSetReaderTransportDataTypeCollection(); + return new DatagramWriterGroupTransportDataTypeCollection(); } /// - public static explicit operator BrokerDataSetReaderTransportDataType[](BrokerDataSetReaderTransportDataTypeCollection values) + public static explicit operator DatagramWriterGroupTransportDataType[](DatagramWriterGroupTransportDataTypeCollection values) { if (values != null) { @@ -21789,18 +22822,18 @@ public static explicit operator BrokerDataSetReaderTransportDataType[](BrokerDat /// public object Clone() { - return (BrokerDataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); + return (DatagramWriterGroupTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - BrokerDataSetReaderTransportDataTypeCollection clone = new BrokerDataSetReaderTransportDataTypeCollection(this.Count); + DatagramWriterGroupTransportDataTypeCollection clone = new DatagramWriterGroupTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((BrokerDataSetReaderTransportDataType)Utils.Clone(this[ii])); + clone.Add((DatagramWriterGroupTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -21810,103 +22843,210 @@ public object Clone() #endif #endregion - #region PubSubConfigurationRefMask Enumeration - #if (!OPCUA_EXCLUDE_PubSubConfigurationRefMask) + #region DatagramWriterGroupTransport2DataType Class + #if (!OPCUA_EXCLUDE_DatagramWriterGroupTransport2DataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum PubSubConfigurationRefMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class DatagramWriterGroupTransport2DataType : Opc.Ua.DatagramWriterGroupTransportDataType { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "ElementAdd_1")] - ElementAdd = 1, + public DatagramWriterGroupTransport2DataType() + { + Initialize(); + } - /// - [EnumMember(Value = "ElementMatch_2")] - ElementMatch = 2, + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } - /// - [EnumMember(Value = "ElementModify_4")] - ElementModify = 4, + private void Initialize() + { + m_address = null; + m_qosCategory = null; + m_datagramQos = new ExtensionObjectCollection(); + m_discoveryAnnounceRate = (uint)0; + m_topic = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "ElementRemove_8")] - ElementRemove = 8, + [DataMember(Name = "Address", IsRequired = false, Order = 1)] + public ExtensionObject Address + { + get { return m_address; } + set { m_address = value; } + } /// - [EnumMember(Value = "ReferenceWriter_16")] - ReferenceWriter = 16, + [DataMember(Name = "QosCategory", IsRequired = false, Order = 2)] + public string QosCategory + { + get { return m_qosCategory; } + set { m_qosCategory = value; } + } /// - [EnumMember(Value = "ReferenceReader_32")] - ReferenceReader = 32, + [DataMember(Name = "DatagramQos", IsRequired = false, Order = 3)] + public ExtensionObjectCollection DatagramQos + { + get { return m_datagramQos; } + set { m_datagramQos = value; } + } /// - [EnumMember(Value = "ReferenceWriterGroup_64")] - ReferenceWriterGroup = 64, + [DataMember(Name = "DiscoveryAnnounceRate", IsRequired = false, Order = 4)] + public uint DiscoveryAnnounceRate + { + get { return m_discoveryAnnounceRate; } + set { m_discoveryAnnounceRate = value; } + } /// - [EnumMember(Value = "ReferenceReaderGroup_128")] - ReferenceReaderGroup = 128, + [DataMember(Name = "Topic", IsRequired = false, Order = 5)] + public string Topic + { + get { return m_topic; } + set { m_topic = value; } + } + #endregion - /// - [EnumMember(Value = "ReferenceConnection_256")] - ReferenceConnection = 256, + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.DatagramWriterGroupTransport2DataType; - /// - [EnumMember(Value = "ReferencePubDataset_512")] - ReferencePubDataset = 512, + /// + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultBinary; - /// - [EnumMember(Value = "ReferenceSubDataset_1024")] - ReferenceSubDataset = 1024, + /// + public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultXml; + + /// + public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramWriterGroupTransport2DataType_Encoding_DefaultJson; - /// - [EnumMember(Value = "ReferenceSecurityGroup_2048")] - ReferenceSecurityGroup = 2048, + /// + public override void Encode(IEncoder encoder) + { + base.Encode(encoder); - /// - [EnumMember(Value = "ReferencePushTarget_4096")] - ReferencePushTarget = 4096, + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteExtensionObject("Address", Address); + encoder.WriteString("QosCategory", QosCategory); + encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); + encoder.WriteUInt32("DiscoveryAnnounceRate", DiscoveryAnnounceRate); + encoder.WriteString("Topic", Topic); + + encoder.PopNamespace(); + } + + /// + public override void Decode(IDecoder decoder) + { + base.Decode(decoder); + + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + Address = decoder.ReadExtensionObject("Address"); + QosCategory = decoder.ReadString("QosCategory"); + DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); + DiscoveryAnnounceRate = decoder.ReadUInt32("DiscoveryAnnounceRate"); + Topic = decoder.ReadString("Topic"); + + decoder.PopNamespace(); + } + + /// + public override bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + DatagramWriterGroupTransport2DataType value = encodeable as DatagramWriterGroupTransport2DataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_address, value.m_address)) return false; + if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; + if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; + if (!Utils.IsEqual(m_discoveryAnnounceRate, value.m_discoveryAnnounceRate)) return false; + if (!Utils.IsEqual(m_topic, value.m_topic)) return false; + + return base.IsEqual(encodeable); + } + + /// + public override object Clone() + { + return (DatagramWriterGroupTransport2DataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + DatagramWriterGroupTransport2DataType clone = (DatagramWriterGroupTransport2DataType)base.MemberwiseClone(); + + clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); + clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); + clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); + clone.m_discoveryAnnounceRate = (uint)Utils.Clone(this.m_discoveryAnnounceRate); + clone.m_topic = (string)Utils.Clone(this.m_topic); + + return clone; + } + #endregion + + #region Private Fields + private ExtensionObject m_address; + private string m_qosCategory; + private ExtensionObjectCollection m_datagramQos; + private uint m_discoveryAnnounceRate; + private string m_topic; + #endregion } - #region PubSubConfigurationRefMaskCollection Class + #region DatagramWriterGroupTransport2DataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConfigurationRefMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationRefMask")] - public partial class PubSubConfigurationRefMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDatagramWriterGroupTransport2DataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramWriterGroupTransport2DataType")] + public partial class DatagramWriterGroupTransport2DataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConfigurationRefMaskCollection() {} + public DatagramWriterGroupTransport2DataTypeCollection() {} /// - public PubSubConfigurationRefMaskCollection(int capacity) : base(capacity) {} + public DatagramWriterGroupTransport2DataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConfigurationRefMaskCollection(IEnumerable collection) : base(collection) {} + public DatagramWriterGroupTransport2DataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConfigurationRefMaskCollection(PubSubConfigurationRefMask[] values) + public static implicit operator DatagramWriterGroupTransport2DataTypeCollection(DatagramWriterGroupTransport2DataType[] values) { if (values != null) { - return new PubSubConfigurationRefMaskCollection(values); + return new DatagramWriterGroupTransport2DataTypeCollection(values); } - return new PubSubConfigurationRefMaskCollection(); + return new DatagramWriterGroupTransport2DataTypeCollection(); } /// - public static explicit operator PubSubConfigurationRefMask[](PubSubConfigurationRefMaskCollection values) + public static explicit operator DatagramWriterGroupTransport2DataType[](DatagramWriterGroupTransport2DataTypeCollection values) { if (values != null) { @@ -21921,18 +23061,18 @@ public static explicit operator PubSubConfigurationRefMask[](PubSubConfiguration /// public object Clone() { - return (PubSubConfigurationRefMaskCollection)this.MemberwiseClone(); + return (DatagramWriterGroupTransport2DataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConfigurationRefMaskCollection clone = new PubSubConfigurationRefMaskCollection(this.Count); + DatagramWriterGroupTransport2DataTypeCollection clone = new DatagramWriterGroupTransport2DataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConfigurationRefMask)Utils.Clone(this[ii])); + clone.Add((DatagramWriterGroupTransport2DataType)Utils.Clone(this[ii])); } return clone; @@ -21942,192 +23082,196 @@ public object Clone() #endif #endregion - #region PubSubConfigurationRefDataType Class - #if (!OPCUA_EXCLUDE_PubSubConfigurationRefDataType) + #region DatagramDataSetReaderTransportDataType Class + #if (!OPCUA_EXCLUDE_DatagramDataSetReaderTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubConfigurationRefDataType : IEncodeable, IJsonEncodeable + public partial class DatagramDataSetReaderTransportDataType : Opc.Ua.DataSetReaderTransportDataType { #region Constructors /// - public PubSubConfigurationRefDataType() + public DatagramDataSetReaderTransportDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_configurationMask = 0; - m_elementIndex = (ushort)0; - m_connectionIndex = (ushort)0; - m_groupIndex = (ushort)0; + m_address = null; + m_qosCategory = null; + m_datagramQos = new ExtensionObjectCollection(); + m_topic = null; } #endregion #region Public Properties /// - [DataMember(Name = "ConfigurationMask", IsRequired = false, Order = 1)] - public uint ConfigurationMask + [DataMember(Name = "Address", IsRequired = false, Order = 1)] + public ExtensionObject Address { - get { return m_configurationMask; } - set { m_configurationMask = value; } + get { return m_address; } + set { m_address = value; } } /// - [DataMember(Name = "ElementIndex", IsRequired = false, Order = 2)] - public ushort ElementIndex + [DataMember(Name = "QosCategory", IsRequired = false, Order = 2)] + public string QosCategory { - get { return m_elementIndex; } - set { m_elementIndex = value; } + get { return m_qosCategory; } + set { m_qosCategory = value; } } /// - [DataMember(Name = "ConnectionIndex", IsRequired = false, Order = 3)] - public ushort ConnectionIndex + [DataMember(Name = "DatagramQos", IsRequired = false, Order = 3)] + public ExtensionObjectCollection DatagramQos { - get { return m_connectionIndex; } - set { m_connectionIndex = value; } + get { return m_datagramQos; } + set { m_datagramQos = value; } } /// - [DataMember(Name = "GroupIndex", IsRequired = false, Order = 4)] - public ushort GroupIndex + [DataMember(Name = "Topic", IsRequired = false, Order = 4)] + public string Topic { - get { return m_groupIndex; } - set { m_groupIndex = value; } + get { return m_topic; } + set { m_topic = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationRefDataType; + public override ExpandedNodeId TypeId => DataTypeIds.DatagramDataSetReaderTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.DatagramDataSetReaderTransportDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("ConfigurationMask", ConfigurationMask); - encoder.WriteUInt16("ElementIndex", ElementIndex); - encoder.WriteUInt16("ConnectionIndex", ConnectionIndex); - encoder.WriteUInt16("GroupIndex", GroupIndex); + encoder.WriteExtensionObject("Address", Address); + encoder.WriteString("QosCategory", QosCategory); + encoder.WriteExtensionObjectArray("DatagramQos", DatagramQos); + encoder.WriteString("Topic", Topic); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ConfigurationMask = decoder.ReadUInt32("ConfigurationMask"); - ElementIndex = decoder.ReadUInt16("ElementIndex"); - ConnectionIndex = decoder.ReadUInt16("ConnectionIndex"); - GroupIndex = decoder.ReadUInt16("GroupIndex"); + Address = decoder.ReadExtensionObject("Address"); + QosCategory = decoder.ReadString("QosCategory"); + DatagramQos = decoder.ReadExtensionObjectArray("DatagramQos"); + Topic = decoder.ReadString("Topic"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - PubSubConfigurationRefDataType value = encodeable as PubSubConfigurationRefDataType; + DatagramDataSetReaderTransportDataType value = encodeable as DatagramDataSetReaderTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_configurationMask, value.m_configurationMask)) return false; - if (!Utils.IsEqual(m_elementIndex, value.m_elementIndex)) return false; - if (!Utils.IsEqual(m_connectionIndex, value.m_connectionIndex)) return false; - if (!Utils.IsEqual(m_groupIndex, value.m_groupIndex)) return false; + if (!Utils.IsEqual(m_address, value.m_address)) return false; + if (!Utils.IsEqual(m_qosCategory, value.m_qosCategory)) return false; + if (!Utils.IsEqual(m_datagramQos, value.m_datagramQos)) return false; + if (!Utils.IsEqual(m_topic, value.m_topic)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (PubSubConfigurationRefDataType)this.MemberwiseClone(); + return (DatagramDataSetReaderTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubConfigurationRefDataType clone = (PubSubConfigurationRefDataType)base.MemberwiseClone(); + DatagramDataSetReaderTransportDataType clone = (DatagramDataSetReaderTransportDataType)base.MemberwiseClone(); - clone.m_configurationMask = (uint)Utils.Clone(this.m_configurationMask); - clone.m_elementIndex = (ushort)Utils.Clone(this.m_elementIndex); - clone.m_connectionIndex = (ushort)Utils.Clone(this.m_connectionIndex); - clone.m_groupIndex = (ushort)Utils.Clone(this.m_groupIndex); + clone.m_address = (ExtensionObject)Utils.Clone(this.m_address); + clone.m_qosCategory = (string)Utils.Clone(this.m_qosCategory); + clone.m_datagramQos = (ExtensionObjectCollection)Utils.Clone(this.m_datagramQos); + clone.m_topic = (string)Utils.Clone(this.m_topic); return clone; } #endregion #region Private Fields - private uint m_configurationMask; - private ushort m_elementIndex; - private ushort m_connectionIndex; - private ushort m_groupIndex; + private ExtensionObject m_address; + private string m_qosCategory; + private ExtensionObjectCollection m_datagramQos; + private string m_topic; #endregion } - #region PubSubConfigurationRefDataTypeCollection Class + #region DatagramDataSetReaderTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConfigurationRefDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationRefDataType")] - public partial class PubSubConfigurationRefDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDatagramDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DatagramDataSetReaderTransportDataType")] + public partial class DatagramDataSetReaderTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConfigurationRefDataTypeCollection() {} + public DatagramDataSetReaderTransportDataTypeCollection() {} /// - public PubSubConfigurationRefDataTypeCollection(int capacity) : base(capacity) {} + public DatagramDataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConfigurationRefDataTypeCollection(IEnumerable collection) : base(collection) {} + public DatagramDataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConfigurationRefDataTypeCollection(PubSubConfigurationRefDataType[] values) + public static implicit operator DatagramDataSetReaderTransportDataTypeCollection(DatagramDataSetReaderTransportDataType[] values) { if (values != null) { - return new PubSubConfigurationRefDataTypeCollection(values); + return new DatagramDataSetReaderTransportDataTypeCollection(values); } - return new PubSubConfigurationRefDataTypeCollection(); + return new DatagramDataSetReaderTransportDataTypeCollection(); } /// - public static explicit operator PubSubConfigurationRefDataType[](PubSubConfigurationRefDataTypeCollection values) + public static explicit operator DatagramDataSetReaderTransportDataType[](DatagramDataSetReaderTransportDataTypeCollection values) { if (values != null) { @@ -22142,18 +23286,18 @@ public static explicit operator PubSubConfigurationRefDataType[](PubSubConfigura /// public object Clone() { - return (PubSubConfigurationRefDataTypeCollection)this.MemberwiseClone(); + return (DatagramDataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConfigurationRefDataTypeCollection clone = new PubSubConfigurationRefDataTypeCollection(this.Count); + DatagramDataSetReaderTransportDataTypeCollection clone = new DatagramDataSetReaderTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConfigurationRefDataType)Utils.Clone(this[ii])); + clone.Add((DatagramDataSetReaderTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -22163,17 +23307,17 @@ public object Clone() #endif #endregion - #region PubSubConfigurationValueDataType Class - #if (!OPCUA_EXCLUDE_PubSubConfigurationValueDataType) + #region DtlsPubSubConnectionDataType Class + #if (!OPCUA_EXCLUDE_DtlsPubSubConnectionDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PubSubConfigurationValueDataType : IEncodeable, IJsonEncodeable + public partial class DtlsPubSubConnectionDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public PubSubConfigurationValueDataType() + public DtlsPubSubConnectionDataType() { Initialize(); } @@ -22186,71 +23330,91 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_configurationElement = new PubSubConfigurationRefDataType(); - m_name = null; - m_identifier = Variant.Null; + m_clientCipherSuite = null; + m_serverCipherSuites = new StringCollection(); + m_zeroRTT = true; + m_certificateGroupId = null; + m_verifyClientCertificate = true; } #endregion #region Public Properties /// - [DataMember(Name = "ConfigurationElement", IsRequired = false, Order = 1)] - public PubSubConfigurationRefDataType ConfigurationElement + [DataMember(Name = "ClientCipherSuite", IsRequired = false, Order = 1)] + public string ClientCipherSuite + { + get { return m_clientCipherSuite; } + set { m_clientCipherSuite = value; } + } + + /// + [DataMember(Name = "ServerCipherSuites", IsRequired = false, Order = 2)] + public StringCollection ServerCipherSuites { get { - return m_configurationElement; + return m_serverCipherSuites; } set { - m_configurationElement = value; + m_serverCipherSuites = value; if (value == null) { - m_configurationElement = new PubSubConfigurationRefDataType(); + m_serverCipherSuites = new StringCollection(); } } } /// - [DataMember(Name = "Name", IsRequired = false, Order = 2)] - public string Name + [DataMember(Name = "ZeroRTT", IsRequired = false, Order = 3)] + public bool ZeroRTT { - get { return m_name; } - set { m_name = value; } + get { return m_zeroRTT; } + set { m_zeroRTT = value; } } /// - [DataMember(Name = "Identifier", IsRequired = false, Order = 3)] - public Variant Identifier + [DataMember(Name = "CertificateGroupId", IsRequired = false, Order = 4)] + public NodeId CertificateGroupId { - get { return m_identifier; } - set { m_identifier = value; } + get { return m_certificateGroupId; } + set { m_certificateGroupId = value; } + } + + /// + [DataMember(Name = "VerifyClientCertificate", IsRequired = false, Order = 5)] + public bool VerifyClientCertificate + { + get { return m_verifyClientCertificate; } + set { m_verifyClientCertificate = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationValueDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.DtlsPubSubConnectionDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.DtlsPubSubConnectionDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteEncodeable("ConfigurationElement", ConfigurationElement, typeof(PubSubConfigurationRefDataType)); - encoder.WriteString("Name", Name); - encoder.WriteVariant("Identifier", Identifier); + encoder.WriteString("ClientCipherSuite", ClientCipherSuite); + encoder.WriteStringArray("ServerCipherSuites", ServerCipherSuites); + encoder.WriteBoolean("ZeroRTT", ZeroRTT); + encoder.WriteNodeId("CertificateGroupId", CertificateGroupId); + encoder.WriteBoolean("VerifyClientCertificate", VerifyClientCertificate); encoder.PopNamespace(); } @@ -22260,9 +23424,11 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ConfigurationElement = (PubSubConfigurationRefDataType)decoder.ReadEncodeable("ConfigurationElement", typeof(PubSubConfigurationRefDataType)); - Name = decoder.ReadString("Name"); - Identifier = decoder.ReadVariant("Identifier"); + ClientCipherSuite = decoder.ReadString("ClientCipherSuite"); + ServerCipherSuites = decoder.ReadStringArray("ServerCipherSuites"); + ZeroRTT = decoder.ReadBoolean("ZeroRTT"); + CertificateGroupId = decoder.ReadNodeId("CertificateGroupId"); + VerifyClientCertificate = decoder.ReadBoolean("VerifyClientCertificate"); decoder.PopNamespace(); } @@ -22275,16 +23441,18 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - PubSubConfigurationValueDataType value = encodeable as PubSubConfigurationValueDataType; + DtlsPubSubConnectionDataType value = encodeable as DtlsPubSubConnectionDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_configurationElement, value.m_configurationElement)) return false; - if (!Utils.IsEqual(m_name, value.m_name)) return false; - if (!Utils.IsEqual(m_identifier, value.m_identifier)) return false; + if (!Utils.IsEqual(m_clientCipherSuite, value.m_clientCipherSuite)) return false; + if (!Utils.IsEqual(m_serverCipherSuites, value.m_serverCipherSuites)) return false; + if (!Utils.IsEqual(m_zeroRTT, value.m_zeroRTT)) return false; + if (!Utils.IsEqual(m_certificateGroupId, value.m_certificateGroupId)) return false; + if (!Utils.IsEqual(m_verifyClientCertificate, value.m_verifyClientCertificate)) return false; return true; } @@ -22292,61 +23460,65 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (PubSubConfigurationValueDataType)this.MemberwiseClone(); + return (DtlsPubSubConnectionDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PubSubConfigurationValueDataType clone = (PubSubConfigurationValueDataType)base.MemberwiseClone(); + DtlsPubSubConnectionDataType clone = (DtlsPubSubConnectionDataType)base.MemberwiseClone(); - clone.m_configurationElement = (PubSubConfigurationRefDataType)Utils.Clone(this.m_configurationElement); - clone.m_name = (string)Utils.Clone(this.m_name); - clone.m_identifier = (Variant)Utils.Clone(this.m_identifier); + clone.m_clientCipherSuite = (string)Utils.Clone(this.m_clientCipherSuite); + clone.m_serverCipherSuites = (StringCollection)Utils.Clone(this.m_serverCipherSuites); + clone.m_zeroRTT = (bool)Utils.Clone(this.m_zeroRTT); + clone.m_certificateGroupId = (NodeId)Utils.Clone(this.m_certificateGroupId); + clone.m_verifyClientCertificate = (bool)Utils.Clone(this.m_verifyClientCertificate); return clone; } #endregion #region Private Fields - private PubSubConfigurationRefDataType m_configurationElement; - private string m_name; - private Variant m_identifier; + private string m_clientCipherSuite; + private StringCollection m_serverCipherSuites; + private bool m_zeroRTT; + private NodeId m_certificateGroupId; + private bool m_verifyClientCertificate; #endregion } - #region PubSubConfigurationValueDataTypeCollection Class + #region DtlsPubSubConnectionDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubConfigurationValueDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationValueDataType")] - public partial class PubSubConfigurationValueDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfDtlsPubSubConnectionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DtlsPubSubConnectionDataType")] + public partial class DtlsPubSubConnectionDataTypeCollection : List, ICloneable { #region Constructors /// - public PubSubConfigurationValueDataTypeCollection() {} + public DtlsPubSubConnectionDataTypeCollection() {} /// - public PubSubConfigurationValueDataTypeCollection(int capacity) : base(capacity) {} + public DtlsPubSubConnectionDataTypeCollection(int capacity) : base(capacity) {} /// - public PubSubConfigurationValueDataTypeCollection(IEnumerable collection) : base(collection) {} + public DtlsPubSubConnectionDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubConfigurationValueDataTypeCollection(PubSubConfigurationValueDataType[] values) + public static implicit operator DtlsPubSubConnectionDataTypeCollection(DtlsPubSubConnectionDataType[] values) { if (values != null) { - return new PubSubConfigurationValueDataTypeCollection(values); + return new DtlsPubSubConnectionDataTypeCollection(values); } - return new PubSubConfigurationValueDataTypeCollection(); + return new DtlsPubSubConnectionDataTypeCollection(); } /// - public static explicit operator PubSubConfigurationValueDataType[](PubSubConfigurationValueDataTypeCollection values) + public static explicit operator DtlsPubSubConnectionDataType[](DtlsPubSubConnectionDataTypeCollection values) { if (values != null) { @@ -22361,18 +23533,18 @@ public static explicit operator PubSubConfigurationValueDataType[](PubSubConfigu /// public object Clone() { - return (PubSubConfigurationValueDataTypeCollection)this.MemberwiseClone(); + return (DtlsPubSubConnectionDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubConfigurationValueDataTypeCollection clone = new PubSubConfigurationValueDataTypeCollection(this.Count); + DtlsPubSubConnectionDataTypeCollection clone = new DtlsPubSubConnectionDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubConfigurationValueDataType)Utils.Clone(this[ii])); + clone.Add((DtlsPubSubConnectionDataType)Utils.Clone(this[ii])); } return clone; @@ -22382,67 +23554,168 @@ public object Clone() #endif #endregion - #region DiagnosticsLevel Enumeration - #if (!OPCUA_EXCLUDE_DiagnosticsLevel) + #region BrokerConnectionTransportDataType Class + #if (!OPCUA_EXCLUDE_BrokerConnectionTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum DiagnosticsLevel + public partial class BrokerConnectionTransportDataType : Opc.Ua.ConnectionTransportDataType { + #region Constructors /// - [EnumMember(Value = "Basic_0")] - Basic = 0, + public BrokerConnectionTransportDataType() + { + Initialize(); + } - /// - [EnumMember(Value = "Advanced_1")] - Advanced = 1, + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } - /// - [EnumMember(Value = "Info_2")] - Info = 2, + private void Initialize() + { + m_resourceUri = null; + m_authenticationProfileUri = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "Log_3")] - Log = 3, + [DataMember(Name = "ResourceUri", IsRequired = false, Order = 1)] + public string ResourceUri + { + get { return m_resourceUri; } + set { m_resourceUri = value; } + } /// - [EnumMember(Value = "Debug_4")] - Debug = 4, + [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 2)] + public string AuthenticationProfileUri + { + get { return m_authenticationProfileUri; } + set { m_authenticationProfileUri = value; } + } + #endregion + + #region IEncodeable Members + /// + public override ExpandedNodeId TypeId => DataTypeIds.BrokerConnectionTransportDataType; + + /// + public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultBinary; + + /// + public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultXml; + + /// + public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultJson; + + /// + public override void Encode(IEncoder encoder) + { + base.Encode(encoder); + + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("ResourceUri", ResourceUri); + encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); + + encoder.PopNamespace(); + } + + /// + public override void Decode(IDecoder decoder) + { + base.Decode(decoder); + + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + ResourceUri = decoder.ReadString("ResourceUri"); + AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); + + decoder.PopNamespace(); + } + + /// + public override bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + BrokerConnectionTransportDataType value = encodeable as BrokerConnectionTransportDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; + if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; + + return base.IsEqual(encodeable); + } + + /// + public override object Clone() + { + return (BrokerConnectionTransportDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + BrokerConnectionTransportDataType clone = (BrokerConnectionTransportDataType)base.MemberwiseClone(); + + clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); + clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); + + return clone; + } + #endregion + + #region Private Fields + private string m_resourceUri; + private string m_authenticationProfileUri; + #endregion } - #region DiagnosticsLevelCollection Class + #region BrokerConnectionTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDiagnosticsLevel", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DiagnosticsLevel")] - public partial class DiagnosticsLevelCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfBrokerConnectionTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerConnectionTransportDataType")] + public partial class BrokerConnectionTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public DiagnosticsLevelCollection() {} + public BrokerConnectionTransportDataTypeCollection() {} /// - public DiagnosticsLevelCollection(int capacity) : base(capacity) {} + public BrokerConnectionTransportDataTypeCollection(int capacity) : base(capacity) {} /// - public DiagnosticsLevelCollection(IEnumerable collection) : base(collection) {} + public BrokerConnectionTransportDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DiagnosticsLevelCollection(DiagnosticsLevel[] values) + public static implicit operator BrokerConnectionTransportDataTypeCollection(BrokerConnectionTransportDataType[] values) { if (values != null) { - return new DiagnosticsLevelCollection(values); + return new BrokerConnectionTransportDataTypeCollection(values); } - return new DiagnosticsLevelCollection(); + return new BrokerConnectionTransportDataTypeCollection(); } /// - public static explicit operator DiagnosticsLevel[](DiagnosticsLevelCollection values) + public static explicit operator BrokerConnectionTransportDataType[](BrokerConnectionTransportDataTypeCollection values) { if (values != null) { @@ -22457,18 +23730,18 @@ public static explicit operator DiagnosticsLevel[](DiagnosticsLevelCollection va /// public object Clone() { - return (DiagnosticsLevelCollection)this.MemberwiseClone(); + return (BrokerConnectionTransportDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DiagnosticsLevelCollection clone = new DiagnosticsLevelCollection(this.Count); + BrokerConnectionTransportDataTypeCollection clone = new BrokerConnectionTransportDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((DiagnosticsLevel)Utils.Clone(this[ii])); + clone.Add((BrokerConnectionTransportDataType)Utils.Clone(this[ii])); } return clone; @@ -22478,55 +23751,67 @@ public object Clone() #endif #endregion - #region PubSubDiagnosticsCounterClassification Enumeration - #if (!OPCUA_EXCLUDE_PubSubDiagnosticsCounterClassification) + #region BrokerTransportQualityOfService Enumeration + #if (!OPCUA_EXCLUDE_BrokerTransportQualityOfService) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum PubSubDiagnosticsCounterClassification + public enum BrokerTransportQualityOfService { /// - [EnumMember(Value = "Information_0")] - Information = 0, + [EnumMember(Value = "NotSpecified_0")] + NotSpecified = 0, /// - [EnumMember(Value = "Error_1")] - Error = 1, + [EnumMember(Value = "BestEffort_1")] + BestEffort = 1, + + /// + [EnumMember(Value = "AtLeastOnce_2")] + AtLeastOnce = 2, + + /// + [EnumMember(Value = "AtMostOnce_3")] + AtMostOnce = 3, + + /// + [EnumMember(Value = "ExactlyOnce_4")] + ExactlyOnce = 4, } - #region PubSubDiagnosticsCounterClassificationCollection Class + #region BrokerTransportQualityOfServiceCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPubSubDiagnosticsCounterClassification", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubDiagnosticsCounterClassification")] - public partial class PubSubDiagnosticsCounterClassificationCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfBrokerTransportQualityOfService", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerTransportQualityOfService")] + public partial class BrokerTransportQualityOfServiceCollection : List, ICloneable { #region Constructors /// - public PubSubDiagnosticsCounterClassificationCollection() {} + public BrokerTransportQualityOfServiceCollection() {} /// - public PubSubDiagnosticsCounterClassificationCollection(int capacity) : base(capacity) {} + public BrokerTransportQualityOfServiceCollection(int capacity) : base(capacity) {} /// - public PubSubDiagnosticsCounterClassificationCollection(IEnumerable collection) : base(collection) {} + public BrokerTransportQualityOfServiceCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PubSubDiagnosticsCounterClassificationCollection(PubSubDiagnosticsCounterClassification[] values) + public static implicit operator BrokerTransportQualityOfServiceCollection(BrokerTransportQualityOfService[] values) { if (values != null) { - return new PubSubDiagnosticsCounterClassificationCollection(values); + return new BrokerTransportQualityOfServiceCollection(values); } - return new PubSubDiagnosticsCounterClassificationCollection(); + return new BrokerTransportQualityOfServiceCollection(); } /// - public static explicit operator PubSubDiagnosticsCounterClassification[](PubSubDiagnosticsCounterClassificationCollection values) + public static explicit operator BrokerTransportQualityOfService[](BrokerTransportQualityOfServiceCollection values) { if (values != null) { @@ -22541,18 +23826,18 @@ public static explicit operator PubSubDiagnosticsCounterClassification[](PubSubD /// public object Clone() { - return (PubSubDiagnosticsCounterClassificationCollection)this.MemberwiseClone(); + return (BrokerTransportQualityOfServiceCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PubSubDiagnosticsCounterClassificationCollection clone = new PubSubDiagnosticsCounterClassificationCollection(this.Count); + BrokerTransportQualityOfServiceCollection clone = new BrokerTransportQualityOfServiceCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PubSubDiagnosticsCounterClassification)Utils.Clone(this[ii])); + clone.Add((BrokerTransportQualityOfService)Utils.Clone(this[ii])); } return clone; @@ -22562,899 +23847,866 @@ public object Clone() #endif #endregion - #region JsonNetworkMessage Class - #if (!OPCUA_EXCLUDE_JsonNetworkMessage) + #region BrokerWriterGroupTransportDataType Class + #if (!OPCUA_EXCLUDE_BrokerWriterGroupTransportDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonNetworkMessage : IEncodeable, IJsonEncodeable + public partial class BrokerWriterGroupTransportDataType : Opc.Ua.WriterGroupTransportDataType { #region Constructors /// - public JsonNetworkMessage() + public BrokerWriterGroupTransportDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_messageId = null; - m_messageType = null; - m_publisherId = null; - m_writerGroupName = null; - m_dataSetClassId = null; - m_messages = Variant.Null; + m_queueName = null; + m_resourceUri = null; + m_authenticationProfileUri = null; + m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; } #endregion #region Public Properties /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId - { - get { return m_messageId; } - set { m_messageId = value; } - } - - /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType - { - get { return m_messageType; } - set { m_messageType = value; } - } - - /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] + public string QueueName { - get { return m_publisherId; } - set { m_publisherId = value; } + get { return m_queueName; } + set { m_queueName = value; } } /// - [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] - public string WriterGroupName + [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] + public string ResourceUri { - get { return m_writerGroupName; } - set { m_writerGroupName = value; } + get { return m_resourceUri; } + set { m_resourceUri = value; } } /// - [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 5)] - public string DataSetClassId + [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] + public string AuthenticationProfileUri { - get { return m_dataSetClassId; } - set { m_dataSetClassId = value; } + get { return m_authenticationProfileUri; } + set { m_authenticationProfileUri = value; } } /// - [DataMember(Name = "Messages", IsRequired = false, Order = 6)] - public Variant Messages + [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] + public BrokerTransportQualityOfService RequestedDeliveryGuarantee { - get { return m_messages; } - set { m_messages = value; } + get { return m_requestedDeliveryGuarantee; } + set { m_requestedDeliveryGuarantee = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonNetworkMessage; + public override ExpandedNodeId TypeId => DataTypeIds.BrokerWriterGroupTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteString("WriterGroupName", WriterGroupName); - encoder.WriteString("DataSetClassId", DataSetClassId); - encoder.WriteVariant("Messages", Messages); + encoder.WriteString("QueueName", QueueName); + encoder.WriteString("ResourceUri", ResourceUri); + encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); + encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); - WriterGroupName = decoder.ReadString("WriterGroupName"); - DataSetClassId = decoder.ReadString("DataSetClassId"); - Messages = decoder.ReadVariant("Messages"); + QueueName = decoder.ReadString("QueueName"); + ResourceUri = decoder.ReadString("ResourceUri"); + AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); + RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - JsonNetworkMessage value = encodeable as JsonNetworkMessage; + BrokerWriterGroupTransportDataType value = encodeable as BrokerWriterGroupTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; - if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; - if (!Utils.IsEqual(m_messages, value.m_messages)) return false; + if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; + if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; + if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; + if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (JsonNetworkMessage)this.MemberwiseClone(); + return (BrokerWriterGroupTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonNetworkMessage clone = (JsonNetworkMessage)base.MemberwiseClone(); + BrokerWriterGroupTransportDataType clone = (BrokerWriterGroupTransportDataType)base.MemberwiseClone(); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); - clone.m_dataSetClassId = (string)Utils.Clone(this.m_dataSetClassId); - clone.m_messages = (Variant)Utils.Clone(this.m_messages); + clone.m_queueName = (string)Utils.Clone(this.m_queueName); + clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); + clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); + clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); return clone; } #endregion #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; - private string m_writerGroupName; - private string m_dataSetClassId; - private Variant m_messages; + private string m_queueName; + private string m_resourceUri; + private string m_authenticationProfileUri; + private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; #endregion } - #endif - #endregion - #region JsonDataSetMessage Class - #if (!OPCUA_EXCLUDE_JsonDataSetMessage) + #region BrokerWriterGroupTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonDataSetMessage : IEncodeable, IJsonEncodeable + [CollectionDataContract(Name = "ListOfBrokerWriterGroupTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerWriterGroupTransportDataType")] + public partial class BrokerWriterGroupTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonDataSetMessage() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) + public BrokerWriterGroupTransportDataTypeCollection() {} + + /// + public BrokerWriterGroupTransportDataTypeCollection(int capacity) : base(capacity) {} + + /// + public BrokerWriterGroupTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator BrokerWriterGroupTransportDataTypeCollection(BrokerWriterGroupTransportDataType[] values) { - Initialize(); + if (values != null) + { + return new BrokerWriterGroupTransportDataTypeCollection(values); + } + + return new BrokerWriterGroupTransportDataTypeCollection(); } - - private void Initialize() + + /// + public static explicit operator BrokerWriterGroupTransportDataType[](BrokerWriterGroupTransportDataTypeCollection values) { - m_dataSetWriterId = (ushort)0; - m_dataSetWriterName = null; - m_publisherId = null; - m_writerGroupName = null; - m_sequenceNumber = (uint)0; - m_metaDataVersion = new ConfigurationVersionDataType(); - m_minorVersion = (uint)0; - m_timestamp = DateTime.MinValue; - m_status = StatusCodes.Good; - m_messageType = null; - m_payload = null; + if (values != null) + { + return values.ToArray(); + } + + return null; } #endregion - #region Public Properties + #region ICloneable Methods /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] - public ushort DataSetWriterId + public object Clone() { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } + return (BrokerWriterGroupTransportDataTypeCollection)this.MemberwiseClone(); } + #endregion - /// - [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 2)] - public string DataSetWriterName + /// + public new object MemberwiseClone() { - get { return m_dataSetWriterName; } - set { m_dataSetWriterName = value; } + BrokerWriterGroupTransportDataTypeCollection clone = new BrokerWriterGroupTransportDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((BrokerWriterGroupTransportDataType)Utils.Clone(this[ii])); + } + + return clone; } + } + #endregion + #endif + #endregion + #region BrokerDataSetWriterTransportDataType Class + #if (!OPCUA_EXCLUDE_BrokerDataSetWriterTransportDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class BrokerDataSetWriterTransportDataType : Opc.Ua.DataSetWriterTransportDataType + { + #region Constructors /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + public BrokerDataSetWriterTransportDataType() { - get { return m_publisherId; } - set { m_publisherId = value; } + Initialize(); } - /// - [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] - public string WriterGroupName + [OnDeserializing] + private void Initialize(StreamingContext context) { - get { return m_writerGroupName; } - set { m_writerGroupName = value; } + Initialize(); } - /// - [DataMember(Name = "SequenceNumber", IsRequired = false, Order = 5)] - public uint SequenceNumber + private void Initialize() { - get { return m_sequenceNumber; } - set { m_sequenceNumber = value; } + m_queueName = null; + m_resourceUri = null; + m_authenticationProfileUri = null; + m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; + m_metaDataQueueName = null; + m_metaDataUpdateTime = (double)0; } + #endregion + #region Public Properties /// - [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 6)] - public ConfigurationVersionDataType MetaDataVersion + [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] + public string QueueName { - get - { - return m_metaDataVersion; - } - - set - { - m_metaDataVersion = value; - - if (value == null) - { - m_metaDataVersion = new ConfigurationVersionDataType(); - } - } + get { return m_queueName; } + set { m_queueName = value; } } /// - [DataMember(Name = "MinorVersion", IsRequired = false, Order = 7)] - public uint MinorVersion + [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] + public string ResourceUri { - get { return m_minorVersion; } - set { m_minorVersion = value; } + get { return m_resourceUri; } + set { m_resourceUri = value; } } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 8)] - public DateTime Timestamp + [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] + public string AuthenticationProfileUri { - get { return m_timestamp; } - set { m_timestamp = value; } + get { return m_authenticationProfileUri; } + set { m_authenticationProfileUri = value; } } /// - [DataMember(Name = "Status", IsRequired = false, Order = 9)] - public StatusCode Status + [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] + public BrokerTransportQualityOfService RequestedDeliveryGuarantee { - get { return m_status; } - set { m_status = value; } + get { return m_requestedDeliveryGuarantee; } + set { m_requestedDeliveryGuarantee = value; } } /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 10)] - public string MessageType + [DataMember(Name = "MetaDataQueueName", IsRequired = false, Order = 5)] + public string MetaDataQueueName { - get { return m_messageType; } - set { m_messageType = value; } + get { return m_metaDataQueueName; } + set { m_metaDataQueueName = value; } } /// - [DataMember(Name = "Payload", IsRequired = false, Order = 11)] - public ExtensionObject Payload + [DataMember(Name = "MetaDataUpdateTime", IsRequired = false, Order = 6)] + public double MetaDataUpdateTime { - get { return m_payload; } - set { m_payload = value; } + get { return m_metaDataUpdateTime; } + set { m_metaDataUpdateTime = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonDataSetMessage; + public override ExpandedNodeId TypeId => DataTypeIds.BrokerDataSetWriterTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteString("DataSetWriterName", DataSetWriterName); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteString("WriterGroupName", WriterGroupName); - encoder.WriteUInt32("SequenceNumber", SequenceNumber); - encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); - encoder.WriteUInt32("MinorVersion", MinorVersion); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteStatusCode("Status", Status); - encoder.WriteString("MessageType", MessageType); - encoder.WriteExtensionObject("Payload", Payload); + encoder.WriteString("QueueName", QueueName); + encoder.WriteString("ResourceUri", ResourceUri); + encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); + encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); + encoder.WriteString("MetaDataQueueName", MetaDataQueueName); + encoder.WriteDouble("MetaDataUpdateTime", MetaDataUpdateTime); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - DataSetWriterName = decoder.ReadString("DataSetWriterName"); - PublisherId = decoder.ReadString("PublisherId"); - WriterGroupName = decoder.ReadString("WriterGroupName"); - SequenceNumber = decoder.ReadUInt32("SequenceNumber"); - MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); - MinorVersion = decoder.ReadUInt32("MinorVersion"); - Timestamp = decoder.ReadDateTime("Timestamp"); - Status = decoder.ReadStatusCode("Status"); - MessageType = decoder.ReadString("MessageType"); - Payload = decoder.ReadExtensionObject("Payload"); + QueueName = decoder.ReadString("QueueName"); + ResourceUri = decoder.ReadString("ResourceUri"); + AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); + RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); + MetaDataQueueName = decoder.ReadString("MetaDataQueueName"); + MetaDataUpdateTime = decoder.ReadDouble("MetaDataUpdateTime"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - JsonDataSetMessage value = encodeable as JsonDataSetMessage; + BrokerDataSetWriterTransportDataType value = encodeable as BrokerDataSetWriterTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; - if (!Utils.IsEqual(m_sequenceNumber, value.m_sequenceNumber)) return false; - if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; - if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_status, value.m_status)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_payload, value.m_payload)) return false; + if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; + if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; + if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; + if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; + if (!Utils.IsEqual(m_metaDataQueueName, value.m_metaDataQueueName)) return false; + if (!Utils.IsEqual(m_metaDataUpdateTime, value.m_metaDataUpdateTime)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (JsonDataSetMessage)this.MemberwiseClone(); + return (BrokerDataSetWriterTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonDataSetMessage clone = (JsonDataSetMessage)base.MemberwiseClone(); + BrokerDataSetWriterTransportDataType clone = (BrokerDataSetWriterTransportDataType)base.MemberwiseClone(); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); - clone.m_sequenceNumber = (uint)Utils.Clone(this.m_sequenceNumber); - clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); - clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_status = (StatusCode)Utils.Clone(this.m_status); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); + clone.m_queueName = (string)Utils.Clone(this.m_queueName); + clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); + clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); + clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); + clone.m_metaDataQueueName = (string)Utils.Clone(this.m_metaDataQueueName); + clone.m_metaDataUpdateTime = (double)Utils.Clone(this.m_metaDataUpdateTime); return clone; } #endregion #region Private Fields - private ushort m_dataSetWriterId; - private string m_dataSetWriterName; - private string m_publisherId; - private string m_writerGroupName; - private uint m_sequenceNumber; - private ConfigurationVersionDataType m_metaDataVersion; - private uint m_minorVersion; - private DateTime m_timestamp; - private StatusCode m_status; - private string m_messageType; - private ExtensionObject m_payload; + private string m_queueName; + private string m_resourceUri; + private string m_authenticationProfileUri; + private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; + private string m_metaDataQueueName; + private double m_metaDataUpdateTime; #endregion } - #endif - #endregion - #region JsonDataSetMetaDataMessage Class - #if (!OPCUA_EXCLUDE_JsonDataSetMetaDataMessage) + #region BrokerDataSetWriterTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonDataSetMetaDataMessage : IEncodeable, IJsonEncodeable + [CollectionDataContract(Name = "ListOfBrokerDataSetWriterTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerDataSetWriterTransportDataType")] + public partial class BrokerDataSetWriterTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonDataSetMetaDataMessage() + public BrokerDataSetWriterTransportDataTypeCollection() {} + + /// + public BrokerDataSetWriterTransportDataTypeCollection(int capacity) : base(capacity) {} + + /// + public BrokerDataSetWriterTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator BrokerDataSetWriterTransportDataTypeCollection(BrokerDataSetWriterTransportDataType[] values) { - Initialize(); + if (values != null) + { + return new BrokerDataSetWriterTransportDataTypeCollection(values); + } + + return new BrokerDataSetWriterTransportDataTypeCollection(); } - - [OnDeserializing] - private void Initialize(StreamingContext context) + + /// + public static explicit operator BrokerDataSetWriterTransportDataType[](BrokerDataSetWriterTransportDataTypeCollection values) { - Initialize(); + if (values != null) + { + return values.ToArray(); + } + + return null; } - - private void Initialize() + #endregion + + #region ICloneable Methods + /// + public object Clone() { - m_messageId = null; - m_messageType = null; - m_publisherId = null; - m_dataSetWriterId = (ushort)0; - m_writerGroupName = null; - m_dataSetWriterName = null; - m_timestamp = DateTime.MinValue; - m_metaData = new DataSetMetaDataType(); + return (BrokerDataSetWriterTransportDataTypeCollection)this.MemberwiseClone(); } #endregion - #region Public Properties - /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId + /// + public new object MemberwiseClone() { - get { return m_messageId; } - set { m_messageId = value; } + BrokerDataSetWriterTransportDataTypeCollection clone = new BrokerDataSetWriterTransportDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((BrokerDataSetWriterTransportDataType)Utils.Clone(this[ii])); + } + + return clone; } + } + #endregion + #endif + #endregion + #region BrokerDataSetReaderTransportDataType Class + #if (!OPCUA_EXCLUDE_BrokerDataSetReaderTransportDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class BrokerDataSetReaderTransportDataType : Opc.Ua.DataSetReaderTransportDataType + { + #region Constructors /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType + public BrokerDataSetReaderTransportDataType() { - get { return m_messageType; } - set { m_messageType = value; } + Initialize(); } - /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + [OnDeserializing] + private void Initialize(StreamingContext context) { - get { return m_publisherId; } - set { m_publisherId = value; } + Initialize(); } - /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 4)] - public ushort DataSetWriterId + private void Initialize() { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } + m_queueName = null; + m_resourceUri = null; + m_authenticationProfileUri = null; + m_requestedDeliveryGuarantee = BrokerTransportQualityOfService.NotSpecified; + m_metaDataQueueName = null; } + #endregion + #region Public Properties /// - [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 5)] - public string WriterGroupName + [DataMember(Name = "QueueName", IsRequired = false, Order = 1)] + public string QueueName { - get { return m_writerGroupName; } - set { m_writerGroupName = value; } + get { return m_queueName; } + set { m_queueName = value; } } /// - [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 6)] - public string DataSetWriterName + [DataMember(Name = "ResourceUri", IsRequired = false, Order = 2)] + public string ResourceUri { - get { return m_dataSetWriterName; } - set { m_dataSetWriterName = value; } + get { return m_resourceUri; } + set { m_resourceUri = value; } } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] - public DateTime Timestamp + [DataMember(Name = "AuthenticationProfileUri", IsRequired = false, Order = 3)] + public string AuthenticationProfileUri { - get { return m_timestamp; } - set { m_timestamp = value; } + get { return m_authenticationProfileUri; } + set { m_authenticationProfileUri = value; } } /// - [DataMember(Name = "MetaData", IsRequired = false, Order = 8)] - public DataSetMetaDataType MetaData + [DataMember(Name = "RequestedDeliveryGuarantee", IsRequired = false, Order = 4)] + public BrokerTransportQualityOfService RequestedDeliveryGuarantee { - get - { - return m_metaData; - } - - set - { - m_metaData = value; + get { return m_requestedDeliveryGuarantee; } + set { m_requestedDeliveryGuarantee = value; } + } - if (value == null) - { - m_metaData = new DataSetMetaDataType(); - } - } + /// + [DataMember(Name = "MetaDataQueueName", IsRequired = false, Order = 5)] + public string MetaDataQueueName + { + get { return m_metaDataQueueName; } + set { m_metaDataQueueName = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonDataSetMetaDataMessage; + public override ExpandedNodeId TypeId => DataTypeIds.BrokerDataSetReaderTransportDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + public override ExpandedNodeId JsonEncodingId => ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteString("WriterGroupName", WriterGroupName); - encoder.WriteString("DataSetWriterName", DataSetWriterName); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeable("MetaData", MetaData, typeof(DataSetMetaDataType)); + encoder.WriteString("QueueName", QueueName); + encoder.WriteString("ResourceUri", ResourceUri); + encoder.WriteString("AuthenticationProfileUri", AuthenticationProfileUri); + encoder.WriteEnumerated("RequestedDeliveryGuarantee", RequestedDeliveryGuarantee); + encoder.WriteString("MetaDataQueueName", MetaDataQueueName); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - WriterGroupName = decoder.ReadString("WriterGroupName"); - DataSetWriterName = decoder.ReadString("DataSetWriterName"); - Timestamp = decoder.ReadDateTime("Timestamp"); - MetaData = (DataSetMetaDataType)decoder.ReadEncodeable("MetaData", typeof(DataSetMetaDataType)); + QueueName = decoder.ReadString("QueueName"); + ResourceUri = decoder.ReadString("ResourceUri"); + AuthenticationProfileUri = decoder.ReadString("AuthenticationProfileUri"); + RequestedDeliveryGuarantee = (BrokerTransportQualityOfService)decoder.ReadEnumerated("RequestedDeliveryGuarantee", typeof(BrokerTransportQualityOfService)); + MetaDataQueueName = decoder.ReadString("MetaDataQueueName"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - JsonDataSetMetaDataMessage value = encodeable as JsonDataSetMetaDataMessage; + BrokerDataSetReaderTransportDataType value = encodeable as BrokerDataSetReaderTransportDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; - if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_metaData, value.m_metaData)) return false; + if (!Utils.IsEqual(m_queueName, value.m_queueName)) return false; + if (!Utils.IsEqual(m_resourceUri, value.m_resourceUri)) return false; + if (!Utils.IsEqual(m_authenticationProfileUri, value.m_authenticationProfileUri)) return false; + if (!Utils.IsEqual(m_requestedDeliveryGuarantee, value.m_requestedDeliveryGuarantee)) return false; + if (!Utils.IsEqual(m_metaDataQueueName, value.m_metaDataQueueName)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (JsonDataSetMetaDataMessage)this.MemberwiseClone(); + return (BrokerDataSetReaderTransportDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonDataSetMetaDataMessage clone = (JsonDataSetMetaDataMessage)base.MemberwiseClone(); + BrokerDataSetReaderTransportDataType clone = (BrokerDataSetReaderTransportDataType)base.MemberwiseClone(); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); - clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_metaData = (DataSetMetaDataType)Utils.Clone(this.m_metaData); + clone.m_queueName = (string)Utils.Clone(this.m_queueName); + clone.m_resourceUri = (string)Utils.Clone(this.m_resourceUri); + clone.m_authenticationProfileUri = (string)Utils.Clone(this.m_authenticationProfileUri); + clone.m_requestedDeliveryGuarantee = (BrokerTransportQualityOfService)Utils.Clone(this.m_requestedDeliveryGuarantee); + clone.m_metaDataQueueName = (string)Utils.Clone(this.m_metaDataQueueName); return clone; } #endregion #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; - private ushort m_dataSetWriterId; - private string m_writerGroupName; - private string m_dataSetWriterName; - private DateTime m_timestamp; - private DataSetMetaDataType m_metaData; + private string m_queueName; + private string m_resourceUri; + private string m_authenticationProfileUri; + private BrokerTransportQualityOfService m_requestedDeliveryGuarantee; + private string m_metaDataQueueName; #endregion } - #endif - #endregion - #region JsonApplicationDescriptionMessage Class - #if (!OPCUA_EXCLUDE_JsonApplicationDescriptionMessage) + #region BrokerDataSetReaderTransportDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonApplicationDescriptionMessage : IEncodeable, IJsonEncodeable + [CollectionDataContract(Name = "ListOfBrokerDataSetReaderTransportDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "BrokerDataSetReaderTransportDataType")] + public partial class BrokerDataSetReaderTransportDataTypeCollection : List, ICloneable { #region Constructors /// - public JsonApplicationDescriptionMessage() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - m_messageId = null; - m_messageType = null; - m_publisherId = null; - m_timestamp = DateTime.MinValue; - m_description = new ApplicationDescription(); - m_serverCapabilities = new StringCollection(); - } - #endregion + public BrokerDataSetReaderTransportDataTypeCollection() {} - #region Public Properties /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId - { - get { return m_messageId; } - set { m_messageId = value; } - } + public BrokerDataSetReaderTransportDataTypeCollection(int capacity) : base(capacity) {} /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType - { - get { return m_messageType; } - set { m_messageType = value; } - } + public BrokerDataSetReaderTransportDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + #region Static Operators /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + public static implicit operator BrokerDataSetReaderTransportDataTypeCollection(BrokerDataSetReaderTransportDataType[] values) { - get { return m_publisherId; } - set { m_publisherId = value; } - } + if (values != null) + { + return new BrokerDataSetReaderTransportDataTypeCollection(values); + } - /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] - public DateTime Timestamp - { - get { return m_timestamp; } - set { m_timestamp = value; } + return new BrokerDataSetReaderTransportDataTypeCollection(); } /// - [DataMember(Name = "Description", IsRequired = false, Order = 5)] - public ApplicationDescription Description + public static explicit operator BrokerDataSetReaderTransportDataType[](BrokerDataSetReaderTransportDataTypeCollection values) { - get + if (values != null) { - return m_description; + return values.ToArray(); } - set - { - m_description = value; - - if (value == null) - { - m_description = new ApplicationDescription(); - } - } + return null; } + #endregion + #region ICloneable Methods /// - [DataMember(Name = "ServerCapabilities", IsRequired = false, Order = 6)] - public StringCollection ServerCapabilities + public object Clone() { - get - { - return m_serverCapabilities; - } - - set - { - m_serverCapabilities = value; - - if (value == null) - { - m_serverCapabilities = new StringCollection(); - } - } + return (BrokerDataSetReaderTransportDataTypeCollection)this.MemberwiseClone(); } #endregion - #region IEncodeable Members - /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonApplicationDescriptionMessage; + /// + public new object MemberwiseClone() + { + BrokerDataSetReaderTransportDataTypeCollection clone = new BrokerDataSetReaderTransportDataTypeCollection(this.Count); - /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((BrokerDataSetReaderTransportDataType)Utils.Clone(this[ii])); + } - /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; - - /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + return clone; + } + } + #endregion + #endif + #endregion - /// - public virtual void Encode(IEncoder encoder) - { - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + #region PubSubConfigurationRefMask Enumeration + #if (!OPCUA_EXCLUDE_PubSubConfigurationRefMask) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum PubSubConfigurationRefMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeable("Description", Description, typeof(ApplicationDescription)); - encoder.WriteStringArray("ServerCapabilities", ServerCapabilities); + /// + [EnumMember(Value = "ElementAdd_1")] + ElementAdd = 1, - encoder.PopNamespace(); - } + /// + [EnumMember(Value = "ElementMatch_2")] + ElementMatch = 2, - /// - public virtual void Decode(IDecoder decoder) - { - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + /// + [EnumMember(Value = "ElementModify_4")] + ElementModify = 4, - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); - Timestamp = decoder.ReadDateTime("Timestamp"); - Description = (ApplicationDescription)decoder.ReadEncodeable("Description", typeof(ApplicationDescription)); - ServerCapabilities = decoder.ReadStringArray("ServerCapabilities"); + /// + [EnumMember(Value = "ElementRemove_8")] + ElementRemove = 8, - decoder.PopNamespace(); - } + /// + [EnumMember(Value = "ReferenceWriter_16")] + ReferenceWriter = 16, - /// - public virtual bool IsEqual(IEncodeable encodeable) + /// + [EnumMember(Value = "ReferenceReader_32")] + ReferenceReader = 32, + + /// + [EnumMember(Value = "ReferenceWriterGroup_64")] + ReferenceWriterGroup = 64, + + /// + [EnumMember(Value = "ReferenceReaderGroup_128")] + ReferenceReaderGroup = 128, + + /// + [EnumMember(Value = "ReferenceConnection_256")] + ReferenceConnection = 256, + + /// + [EnumMember(Value = "ReferencePubDataset_512")] + ReferencePubDataset = 512, + + /// + [EnumMember(Value = "ReferenceSubDataset_1024")] + ReferenceSubDataset = 1024, + + /// + [EnumMember(Value = "ReferenceSecurityGroup_2048")] + ReferenceSecurityGroup = 2048, + + /// + [EnumMember(Value = "ReferencePushTarget_4096")] + ReferencePushTarget = 4096, + } + + #region PubSubConfigurationRefMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPubSubConfigurationRefMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationRefMask")] + public partial class PubSubConfigurationRefMaskCollection : List, ICloneable + { + #region Constructors + /// + public PubSubConfigurationRefMaskCollection() {} + + /// + public PubSubConfigurationRefMaskCollection(int capacity) : base(capacity) {} + + /// + public PubSubConfigurationRefMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PubSubConfigurationRefMaskCollection(PubSubConfigurationRefMask[] values) { - if (Object.ReferenceEquals(this, encodeable)) + if (values != null) { - return true; + return new PubSubConfigurationRefMaskCollection(values); } - JsonApplicationDescriptionMessage value = encodeable as JsonApplicationDescriptionMessage; + return new PubSubConfigurationRefMaskCollection(); + } - if (value == null) + /// + public static explicit operator PubSubConfigurationRefMask[](PubSubConfigurationRefMaskCollection values) + { + if (values != null) { - return false; + return values.ToArray(); } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; - if (!Utils.IsEqual(m_serverCapabilities, value.m_serverCapabilities)) return false; - - return true; + return null; } + #endregion - /// - public virtual object Clone() + #region ICloneable Methods + /// + public object Clone() { - return (JsonApplicationDescriptionMessage)this.MemberwiseClone(); + return (PubSubConfigurationRefMaskCollection)this.MemberwiseClone(); } + #endregion /// public new object MemberwiseClone() { - JsonApplicationDescriptionMessage clone = (JsonApplicationDescriptionMessage)base.MemberwiseClone(); + PubSubConfigurationRefMaskCollection clone = new PubSubConfigurationRefMaskCollection(this.Count); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_description = (ApplicationDescription)Utils.Clone(this.m_description); - clone.m_serverCapabilities = (StringCollection)Utils.Clone(this.m_serverCapabilities); + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PubSubConfigurationRefMask)Utils.Clone(this[ii])); + } return clone; } - #endregion - - #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; - private DateTime m_timestamp; - private ApplicationDescription m_description; - private StringCollection m_serverCapabilities; - #endregion } + #endregion #endif #endregion - #region JsonServerEndpointsMessage Class - #if (!OPCUA_EXCLUDE_JsonServerEndpointsMessage) + #region PubSubConfigurationRefDataType Class + #if (!OPCUA_EXCLUDE_PubSubConfigurationRefDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonServerEndpointsMessage : IEncodeable, IJsonEncodeable + public partial class PubSubConfigurationRefDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonServerEndpointsMessage() + public PubSubConfigurationRefDataType() { Initialize(); } @@ -23467,113 +24719,69 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_messageId = null; - m_messageType = null; - m_publisherId = null; - m_timestamp = DateTime.MinValue; - m_description = new ApplicationDescription(); - m_endpoints = new EndpointDescriptionCollection(); + m_configurationMask = 0; + m_elementIndex = (ushort)0; + m_connectionIndex = (ushort)0; + m_groupIndex = (ushort)0; } #endregion #region Public Properties /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId - { - get { return m_messageId; } - set { m_messageId = value; } - } - - /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType - { - get { return m_messageType; } - set { m_messageType = value; } - } - - /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + [DataMember(Name = "ConfigurationMask", IsRequired = false, Order = 1)] + public uint ConfigurationMask { - get { return m_publisherId; } - set { m_publisherId = value; } + get { return m_configurationMask; } + set { m_configurationMask = value; } } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] - public DateTime Timestamp + [DataMember(Name = "ElementIndex", IsRequired = false, Order = 2)] + public ushort ElementIndex { - get { return m_timestamp; } - set { m_timestamp = value; } + get { return m_elementIndex; } + set { m_elementIndex = value; } } /// - [DataMember(Name = "Description", IsRequired = false, Order = 5)] - public ApplicationDescription Description + [DataMember(Name = "ConnectionIndex", IsRequired = false, Order = 3)] + public ushort ConnectionIndex { - get - { - return m_description; - } - - set - { - m_description = value; - - if (value == null) - { - m_description = new ApplicationDescription(); - } - } + get { return m_connectionIndex; } + set { m_connectionIndex = value; } } /// - [DataMember(Name = "Endpoints", IsRequired = false, Order = 6)] - public EndpointDescriptionCollection Endpoints + [DataMember(Name = "GroupIndex", IsRequired = false, Order = 4)] + public ushort GroupIndex { - get - { - return m_endpoints; - } - - set - { - m_endpoints = value; - - if (value == null) - { - m_endpoints = new EndpointDescriptionCollection(); - } - } + get { return m_groupIndex; } + set { m_groupIndex = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonServerEndpointsMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationRefDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationRefDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeable("Description", Description, typeof(ApplicationDescription)); - encoder.WriteEncodeableArray("Endpoints", Endpoints.ToArray(), typeof(EndpointDescription)); + encoder.WriteUInt32("ConfigurationMask", ConfigurationMask); + encoder.WriteUInt16("ElementIndex", ElementIndex); + encoder.WriteUInt16("ConnectionIndex", ConnectionIndex); + encoder.WriteUInt16("GroupIndex", GroupIndex); encoder.PopNamespace(); } @@ -23583,12 +24791,10 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); - Timestamp = decoder.ReadDateTime("Timestamp"); - Description = (ApplicationDescription)decoder.ReadEncodeable("Description", typeof(ApplicationDescription)); - Endpoints = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("Endpoints", typeof(EndpointDescription)); + ConfigurationMask = decoder.ReadUInt32("ConfigurationMask"); + ElementIndex = decoder.ReadUInt16("ElementIndex"); + ConnectionIndex = decoder.ReadUInt16("ConnectionIndex"); + GroupIndex = decoder.ReadUInt16("GroupIndex"); decoder.PopNamespace(); } @@ -23601,19 +24807,17 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonServerEndpointsMessage value = encodeable as JsonServerEndpointsMessage; + PubSubConfigurationRefDataType value = encodeable as PubSubConfigurationRefDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; - if (!Utils.IsEqual(m_endpoints, value.m_endpoints)) return false; + if (!Utils.IsEqual(m_configurationMask, value.m_configurationMask)) return false; + if (!Utils.IsEqual(m_elementIndex, value.m_elementIndex)) return false; + if (!Utils.IsEqual(m_connectionIndex, value.m_connectionIndex)) return false; + if (!Utils.IsEqual(m_groupIndex, value.m_groupIndex)) return false; return true; } @@ -23621,48 +24825,109 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonServerEndpointsMessage)this.MemberwiseClone(); + return (PubSubConfigurationRefDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonServerEndpointsMessage clone = (JsonServerEndpointsMessage)base.MemberwiseClone(); + PubSubConfigurationRefDataType clone = (PubSubConfigurationRefDataType)base.MemberwiseClone(); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_description = (ApplicationDescription)Utils.Clone(this.m_description); - clone.m_endpoints = (EndpointDescriptionCollection)Utils.Clone(this.m_endpoints); + clone.m_configurationMask = (uint)Utils.Clone(this.m_configurationMask); + clone.m_elementIndex = (ushort)Utils.Clone(this.m_elementIndex); + clone.m_connectionIndex = (ushort)Utils.Clone(this.m_connectionIndex); + clone.m_groupIndex = (ushort)Utils.Clone(this.m_groupIndex); return clone; } #endregion #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; - private DateTime m_timestamp; - private ApplicationDescription m_description; - private EndpointDescriptionCollection m_endpoints; + private uint m_configurationMask; + private ushort m_elementIndex; + private ushort m_connectionIndex; + private ushort m_groupIndex; + #endregion + } + + #region PubSubConfigurationRefDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPubSubConfigurationRefDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationRefDataType")] + public partial class PubSubConfigurationRefDataTypeCollection : List, ICloneable + { + #region Constructors + /// + public PubSubConfigurationRefDataTypeCollection() {} + + /// + public PubSubConfigurationRefDataTypeCollection(int capacity) : base(capacity) {} + + /// + public PubSubConfigurationRefDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PubSubConfigurationRefDataTypeCollection(PubSubConfigurationRefDataType[] values) + { + if (values != null) + { + return new PubSubConfigurationRefDataTypeCollection(values); + } + + return new PubSubConfigurationRefDataTypeCollection(); + } + + /// + public static explicit operator PubSubConfigurationRefDataType[](PubSubConfigurationRefDataTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (PubSubConfigurationRefDataTypeCollection)this.MemberwiseClone(); + } #endregion + + /// + public new object MemberwiseClone() + { + PubSubConfigurationRefDataTypeCollection clone = new PubSubConfigurationRefDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PubSubConfigurationRefDataType)Utils.Clone(this[ii])); + } + + return clone; + } } + #endregion #endif #endregion - #region JsonStatusMessage Class - #if (!OPCUA_EXCLUDE_JsonStatusMessage) + #region PubSubConfigurationValueDataType Class + #if (!OPCUA_EXCLUDE_PubSubConfigurationValueDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonStatusMessage : IEncodeable, IJsonEncodeable + public partial class PubSubConfigurationValueDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonStatusMessage() + public PubSubConfigurationValueDataType() { Initialize(); } @@ -23675,99 +24940,71 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_messageId = null; - m_messageType = null; - m_publisherId = null; - m_timestamp = DateTime.MinValue; - m_isCyclic = true; - m_status = PubSubState.Disabled; - m_nextReportTime = DateTime.MinValue; + m_configurationElement = new PubSubConfigurationRefDataType(); + m_name = null; + m_identifier = Variant.Null; } #endregion #region Public Properties /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId - { - get { return m_messageId; } - set { m_messageId = value; } - } - - /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType - { - get { return m_messageType; } - set { m_messageType = value; } - } - - /// - [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] - public string PublisherId + [DataMember(Name = "ConfigurationElement", IsRequired = false, Order = 1)] + public PubSubConfigurationRefDataType ConfigurationElement { - get { return m_publisherId; } - set { m_publisherId = value; } - } + get + { + return m_configurationElement; + } - /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] - public DateTime Timestamp - { - get { return m_timestamp; } - set { m_timestamp = value; } - } + set + { + m_configurationElement = value; - /// - [DataMember(Name = "IsCyclic", IsRequired = false, Order = 5)] - public bool IsCyclic - { - get { return m_isCyclic; } - set { m_isCyclic = value; } + if (value == null) + { + m_configurationElement = new PubSubConfigurationRefDataType(); + } + } } /// - [DataMember(Name = "Status", IsRequired = false, Order = 6)] - public PubSubState Status + [DataMember(Name = "Name", IsRequired = false, Order = 2)] + public string Name { - get { return m_status; } - set { m_status = value; } + get { return m_name; } + set { m_name = value; } } /// - [DataMember(Name = "NextReportTime", IsRequired = false, Order = 7)] - public DateTime NextReportTime + [DataMember(Name = "Identifier", IsRequired = false, Order = 3)] + public Variant Identifier { - get { return m_nextReportTime; } - set { m_nextReportTime = value; } + get { return m_identifier; } + set { m_identifier = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonStatusMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.PubSubConfigurationValueDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PubSubConfigurationValueDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteBoolean("IsCyclic", IsCyclic); - encoder.WriteEnumerated("Status", Status); - encoder.WriteDateTime("NextReportTime", NextReportTime); + encoder.WriteEncodeable("ConfigurationElement", ConfigurationElement, typeof(PubSubConfigurationRefDataType)); + encoder.WriteString("Name", Name); + encoder.WriteVariant("Identifier", Identifier); encoder.PopNamespace(); } @@ -23777,13 +25014,9 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); - Timestamp = decoder.ReadDateTime("Timestamp"); - IsCyclic = decoder.ReadBoolean("IsCyclic"); - Status = (PubSubState)decoder.ReadEnumerated("Status", typeof(PubSubState)); - NextReportTime = decoder.ReadDateTime("NextReportTime"); + ConfigurationElement = (PubSubConfigurationRefDataType)decoder.ReadEncodeable("ConfigurationElement", typeof(PubSubConfigurationRefDataType)); + Name = decoder.ReadString("Name"); + Identifier = decoder.ReadVariant("Identifier"); decoder.PopNamespace(); } @@ -23796,20 +25029,16 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonStatusMessage value = encodeable as JsonStatusMessage; + PubSubConfigurationValueDataType value = encodeable as PubSubConfigurationValueDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_isCyclic, value.m_isCyclic)) return false; - if (!Utils.IsEqual(m_status, value.m_status)) return false; - if (!Utils.IsEqual(m_nextReportTime, value.m_nextReportTime)) return false; + if (!Utils.IsEqual(m_configurationElement, value.m_configurationElement)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_identifier, value.m_identifier)) return false; return true; } @@ -23817,50 +25046,287 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonStatusMessage)this.MemberwiseClone(); + return (PubSubConfigurationValueDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonStatusMessage clone = (JsonStatusMessage)base.MemberwiseClone(); + PubSubConfigurationValueDataType clone = (PubSubConfigurationValueDataType)base.MemberwiseClone(); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_isCyclic = (bool)Utils.Clone(this.m_isCyclic); - clone.m_status = (PubSubState)Utils.Clone(this.m_status); - clone.m_nextReportTime = (DateTime)Utils.Clone(this.m_nextReportTime); + clone.m_configurationElement = (PubSubConfigurationRefDataType)Utils.Clone(this.m_configurationElement); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_identifier = (Variant)Utils.Clone(this.m_identifier); return clone; } #endregion #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; - private DateTime m_timestamp; - private bool m_isCyclic; - private PubSubState m_status; - private DateTime m_nextReportTime; + private PubSubConfigurationRefDataType m_configurationElement; + private string m_name; + private Variant m_identifier; + #endregion + } + + #region PubSubConfigurationValueDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPubSubConfigurationValueDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubConfigurationValueDataType")] + public partial class PubSubConfigurationValueDataTypeCollection : List, ICloneable + { + #region Constructors + /// + public PubSubConfigurationValueDataTypeCollection() {} + + /// + public PubSubConfigurationValueDataTypeCollection(int capacity) : base(capacity) {} + + /// + public PubSubConfigurationValueDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PubSubConfigurationValueDataTypeCollection(PubSubConfigurationValueDataType[] values) + { + if (values != null) + { + return new PubSubConfigurationValueDataTypeCollection(values); + } + + return new PubSubConfigurationValueDataTypeCollection(); + } + + /// + public static explicit operator PubSubConfigurationValueDataType[](PubSubConfigurationValueDataTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (PubSubConfigurationValueDataTypeCollection)this.MemberwiseClone(); + } #endregion + + /// + public new object MemberwiseClone() + { + PubSubConfigurationValueDataTypeCollection clone = new PubSubConfigurationValueDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PubSubConfigurationValueDataType)Utils.Clone(this[ii])); + } + + return clone; + } } + #endregion #endif #endregion - #region JsonPubSubConnectionMessage Class - #if (!OPCUA_EXCLUDE_JsonPubSubConnectionMessage) + #region DiagnosticsLevel Enumeration + #if (!OPCUA_EXCLUDE_DiagnosticsLevel) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonPubSubConnectionMessage : IEncodeable, IJsonEncodeable + public enum DiagnosticsLevel + { + /// + [EnumMember(Value = "Basic_0")] + Basic = 0, + + /// + [EnumMember(Value = "Advanced_1")] + Advanced = 1, + + /// + [EnumMember(Value = "Info_2")] + Info = 2, + + /// + [EnumMember(Value = "Log_3")] + Log = 3, + + /// + [EnumMember(Value = "Debug_4")] + Debug = 4, + } + + #region DiagnosticsLevelCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfDiagnosticsLevel", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DiagnosticsLevel")] + public partial class DiagnosticsLevelCollection : List, ICloneable { #region Constructors /// - public JsonPubSubConnectionMessage() + public DiagnosticsLevelCollection() {} + + /// + public DiagnosticsLevelCollection(int capacity) : base(capacity) {} + + /// + public DiagnosticsLevelCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator DiagnosticsLevelCollection(DiagnosticsLevel[] values) + { + if (values != null) + { + return new DiagnosticsLevelCollection(values); + } + + return new DiagnosticsLevelCollection(); + } + + /// + public static explicit operator DiagnosticsLevel[](DiagnosticsLevelCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (DiagnosticsLevelCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + DiagnosticsLevelCollection clone = new DiagnosticsLevelCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((DiagnosticsLevel)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region PubSubDiagnosticsCounterClassification Enumeration + #if (!OPCUA_EXCLUDE_PubSubDiagnosticsCounterClassification) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum PubSubDiagnosticsCounterClassification + { + /// + [EnumMember(Value = "Information_0")] + Information = 0, + + /// + [EnumMember(Value = "Error_1")] + Error = 1, + } + + #region PubSubDiagnosticsCounterClassificationCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPubSubDiagnosticsCounterClassification", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PubSubDiagnosticsCounterClassification")] + public partial class PubSubDiagnosticsCounterClassificationCollection : List, ICloneable + { + #region Constructors + /// + public PubSubDiagnosticsCounterClassificationCollection() {} + + /// + public PubSubDiagnosticsCounterClassificationCollection(int capacity) : base(capacity) {} + + /// + public PubSubDiagnosticsCounterClassificationCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PubSubDiagnosticsCounterClassificationCollection(PubSubDiagnosticsCounterClassification[] values) + { + if (values != null) + { + return new PubSubDiagnosticsCounterClassificationCollection(values); + } + + return new PubSubDiagnosticsCounterClassificationCollection(); + } + + /// + public static explicit operator PubSubDiagnosticsCounterClassification[](PubSubDiagnosticsCounterClassificationCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (PubSubDiagnosticsCounterClassificationCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + PubSubDiagnosticsCounterClassificationCollection clone = new PubSubDiagnosticsCounterClassificationCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PubSubDiagnosticsCounterClassification)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region JsonNetworkMessage Class + #if (!OPCUA_EXCLUDE_JsonNetworkMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonNetworkMessage : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public JsonNetworkMessage() { Initialize(); } @@ -23876,8 +25342,9 @@ private void Initialize() m_messageId = null; m_messageType = null; m_publisherId = null; - m_timestamp = DateTime.MinValue; - m_connection = new PubSubConnectionDataType(); + m_writerGroupName = null; + m_dataSetClassId = null; + m_messages = Variant.Null; } #endregion @@ -23907,37 +25374,33 @@ public string PublisherId } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] - public DateTime Timestamp + [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] + public string WriterGroupName { - get { return m_timestamp; } - set { m_timestamp = value; } + get { return m_writerGroupName; } + set { m_writerGroupName = value; } } /// - [DataMember(Name = "Connection", IsRequired = false, Order = 5)] - public PubSubConnectionDataType Connection + [DataMember(Name = "DataSetClassId", IsRequired = false, Order = 5)] + public string DataSetClassId { - get - { - return m_connection; - } - - set - { - m_connection = value; + get { return m_dataSetClassId; } + set { m_dataSetClassId = value; } + } - if (value == null) - { - m_connection = new PubSubConnectionDataType(); - } - } + /// + [DataMember(Name = "Messages", IsRequired = false, Order = 6)] + public Variant Messages + { + get { return m_messages; } + set { m_messages = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonPubSubConnectionMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonNetworkMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -23956,8 +25419,9 @@ public virtual void Encode(IEncoder encoder) encoder.WriteString("MessageId", MessageId); encoder.WriteString("MessageType", MessageType); encoder.WriteString("PublisherId", PublisherId); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeable("Connection", Connection, typeof(PubSubConnectionDataType)); + encoder.WriteString("WriterGroupName", WriterGroupName); + encoder.WriteString("DataSetClassId", DataSetClassId); + encoder.WriteVariant("Messages", Messages); encoder.PopNamespace(); } @@ -23970,8 +25434,9 @@ public virtual void Decode(IDecoder decoder) MessageId = decoder.ReadString("MessageId"); MessageType = decoder.ReadString("MessageType"); PublisherId = decoder.ReadString("PublisherId"); - Timestamp = decoder.ReadDateTime("Timestamp"); - Connection = (PubSubConnectionDataType)decoder.ReadEncodeable("Connection", typeof(PubSubConnectionDataType)); + WriterGroupName = decoder.ReadString("WriterGroupName"); + DataSetClassId = decoder.ReadString("DataSetClassId"); + Messages = decoder.ReadVariant("Messages"); decoder.PopNamespace(); } @@ -23984,7 +25449,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonPubSubConnectionMessage value = encodeable as JsonPubSubConnectionMessage; + JsonNetworkMessage value = encodeable as JsonNetworkMessage; if (value == null) { @@ -23994,8 +25459,9 @@ public virtual bool IsEqual(IEncodeable encodeable) if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_connection, value.m_connection)) return false; + if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; + if (!Utils.IsEqual(m_dataSetClassId, value.m_dataSetClassId)) return false; + if (!Utils.IsEqual(m_messages, value.m_messages)) return false; return true; } @@ -24003,19 +25469,20 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonPubSubConnectionMessage)this.MemberwiseClone(); + return (JsonNetworkMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonPubSubConnectionMessage clone = (JsonPubSubConnectionMessage)base.MemberwiseClone(); + JsonNetworkMessage clone = (JsonNetworkMessage)base.MemberwiseClone(); clone.m_messageId = (string)Utils.Clone(this.m_messageId); clone.m_messageType = (string)Utils.Clone(this.m_messageType); clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_connection = (PubSubConnectionDataType)Utils.Clone(this.m_connection); + clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); + clone.m_dataSetClassId = (string)Utils.Clone(this.m_dataSetClassId); + clone.m_messages = (Variant)Utils.Clone(this.m_messages); return clone; } @@ -24025,24 +25492,25 @@ public virtual object Clone() private string m_messageId; private string m_messageType; private string m_publisherId; - private DateTime m_timestamp; - private PubSubConnectionDataType m_connection; + private string m_writerGroupName; + private string m_dataSetClassId; + private Variant m_messages; #endregion } #endif #endregion - #region JsonActionMetaDataMessage Class - #if (!OPCUA_EXCLUDE_JsonActionMetaDataMessage) + #region JsonDataSetMessage Class + #if (!OPCUA_EXCLUDE_JsonDataSetMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonActionMetaDataMessage : IEncodeable, IJsonEncodeable + public partial class JsonDataSetMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonActionMetaDataMessage() + public JsonDataSetMessage() { Initialize(); } @@ -24055,34 +25523,35 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_messageId = null; - m_messageType = null; - m_publisherId = null; m_dataSetWriterId = (ushort)0; m_dataSetWriterName = null; + m_publisherId = null; + m_writerGroupName = null; + m_sequenceNumber = (uint)0; + m_metaDataVersion = new ConfigurationVersionDataType(); + m_minorVersion = (uint)0; m_timestamp = DateTime.MinValue; - m_actionTargets = new ActionTargetDataTypeCollection(); - m_request = new DataSetMetaDataType(); - m_response = new DataSetMetaDataType(); - m_actionMethods = new ActionMethodDataTypeCollection(); + m_status = StatusCodes.Good; + m_messageType = null; + m_payload = null; } #endregion #region Public Properties /// - [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] - public string MessageId + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] + public ushort DataSetWriterId { - get { return m_messageId; } - set { m_messageId = value; } + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } } /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] - public string MessageType + [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 2)] + public string DataSetWriterName { - get { return m_messageType; } - set { m_messageType = value; } + get { return m_dataSetWriterName; } + set { m_dataSetWriterName = value; } } /// @@ -24094,113 +25563,85 @@ public string PublisherId } /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 4)] - public ushort DataSetWriterId - { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } - } - - /// - [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 5)] - public string DataSetWriterName + [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] + public string WriterGroupName { - get { return m_dataSetWriterName; } - set { m_dataSetWriterName = value; } + get { return m_writerGroupName; } + set { m_writerGroupName = value; } } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 6)] - public DateTime Timestamp + [DataMember(Name = "SequenceNumber", IsRequired = false, Order = 5)] + public uint SequenceNumber { - get { return m_timestamp; } - set { m_timestamp = value; } + get { return m_sequenceNumber; } + set { m_sequenceNumber = value; } } /// - [DataMember(Name = "ActionTargets", IsRequired = false, Order = 7)] - public ActionTargetDataTypeCollection ActionTargets + [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 6)] + public ConfigurationVersionDataType MetaDataVersion { get { - return m_actionTargets; + return m_metaDataVersion; } set { - m_actionTargets = value; + m_metaDataVersion = value; if (value == null) { - m_actionTargets = new ActionTargetDataTypeCollection(); + m_metaDataVersion = new ConfigurationVersionDataType(); } } } /// - [DataMember(Name = "Request", IsRequired = false, Order = 8)] - public DataSetMetaDataType Request + [DataMember(Name = "MinorVersion", IsRequired = false, Order = 7)] + public uint MinorVersion { - get - { - return m_request; - } - - set - { - m_request = value; - - if (value == null) - { - m_request = new DataSetMetaDataType(); - } - } + get { return m_minorVersion; } + set { m_minorVersion = value; } } /// - [DataMember(Name = "Response", IsRequired = false, Order = 9)] - public DataSetMetaDataType Response + [DataMember(Name = "Timestamp", IsRequired = false, Order = 8)] + public DateTime Timestamp { - get - { - return m_response; - } - - set - { - m_response = value; - - if (value == null) - { - m_response = new DataSetMetaDataType(); - } - } + get { return m_timestamp; } + set { m_timestamp = value; } } /// - [DataMember(Name = "ActionMethods", IsRequired = false, Order = 10)] - public ActionMethodDataTypeCollection ActionMethods + [DataMember(Name = "Status", IsRequired = false, Order = 9)] + public StatusCode Status { - get - { - return m_actionMethods; - } + get { return m_status; } + set { m_status = value; } + } - set - { - m_actionMethods = value; + /// + [DataMember(Name = "MessageType", IsRequired = false, Order = 10)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } - if (value == null) - { - m_actionMethods = new ActionMethodDataTypeCollection(); - } - } + /// + [DataMember(Name = "Payload", IsRequired = false, Order = 11)] + public ExtensionObject Payload + { + get { return m_payload; } + set { m_payload = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionMetaDataMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonDataSetMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -24216,16 +25657,17 @@ public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MessageId", MessageId); - encoder.WriteString("MessageType", MessageType); - encoder.WriteString("PublisherId", PublisherId); encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); encoder.WriteString("DataSetWriterName", DataSetWriterName); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteString("WriterGroupName", WriterGroupName); + encoder.WriteUInt32("SequenceNumber", SequenceNumber); + encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); + encoder.WriteUInt32("MinorVersion", MinorVersion); encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeableArray("ActionTargets", ActionTargets.ToArray(), typeof(ActionTargetDataType)); - encoder.WriteEncodeable("Request", Request, typeof(DataSetMetaDataType)); - encoder.WriteEncodeable("Response", Response, typeof(DataSetMetaDataType)); - encoder.WriteEncodeableArray("ActionMethods", ActionMethods.ToArray(), typeof(ActionMethodDataType)); + encoder.WriteStatusCode("Status", Status); + encoder.WriteString("MessageType", MessageType); + encoder.WriteExtensionObject("Payload", Payload); encoder.PopNamespace(); } @@ -24235,16 +25677,17 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MessageId = decoder.ReadString("MessageId"); - MessageType = decoder.ReadString("MessageType"); - PublisherId = decoder.ReadString("PublisherId"); DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); DataSetWriterName = decoder.ReadString("DataSetWriterName"); + PublisherId = decoder.ReadString("PublisherId"); + WriterGroupName = decoder.ReadString("WriterGroupName"); + SequenceNumber = decoder.ReadUInt32("SequenceNumber"); + MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); + MinorVersion = decoder.ReadUInt32("MinorVersion"); Timestamp = decoder.ReadDateTime("Timestamp"); - ActionTargets = (ActionTargetDataTypeCollection)decoder.ReadEncodeableArray("ActionTargets", typeof(ActionTargetDataType)); - Request = (DataSetMetaDataType)decoder.ReadEncodeable("Request", typeof(DataSetMetaDataType)); - Response = (DataSetMetaDataType)decoder.ReadEncodeable("Response", typeof(DataSetMetaDataType)); - ActionMethods = (ActionMethodDataTypeCollection)decoder.ReadEncodeableArray("ActionMethods", typeof(ActionMethodDataType)); + Status = decoder.ReadStatusCode("Status"); + MessageType = decoder.ReadString("MessageType"); + Payload = decoder.ReadExtensionObject("Payload"); decoder.PopNamespace(); } @@ -24257,23 +25700,24 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonActionMetaDataMessage value = encodeable as JsonActionMetaDataMessage; + JsonDataSetMessage value = encodeable as JsonDataSetMessage; if (value == null) { return false; } - if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; - if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; + if (!Utils.IsEqual(m_sequenceNumber, value.m_sequenceNumber)) return false; + if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; + if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_actionTargets, value.m_actionTargets)) return false; - if (!Utils.IsEqual(m_request, value.m_request)) return false; - if (!Utils.IsEqual(m_response, value.m_response)) return false; - if (!Utils.IsEqual(m_actionMethods, value.m_actionMethods)) return false; + if (!Utils.IsEqual(m_status, value.m_status)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_payload, value.m_payload)) return false; return true; } @@ -24281,56 +25725,58 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonActionMetaDataMessage)this.MemberwiseClone(); + return (JsonDataSetMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonActionMetaDataMessage clone = (JsonActionMetaDataMessage)base.MemberwiseClone(); + JsonDataSetMessage clone = (JsonDataSetMessage)base.MemberwiseClone(); - clone.m_messageId = (string)Utils.Clone(this.m_messageId); - clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); + clone.m_sequenceNumber = (uint)Utils.Clone(this.m_sequenceNumber); + clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); + clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_actionTargets = (ActionTargetDataTypeCollection)Utils.Clone(this.m_actionTargets); - clone.m_request = (DataSetMetaDataType)Utils.Clone(this.m_request); - clone.m_response = (DataSetMetaDataType)Utils.Clone(this.m_response); - clone.m_actionMethods = (ActionMethodDataTypeCollection)Utils.Clone(this.m_actionMethods); + clone.m_status = (StatusCode)Utils.Clone(this.m_status); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); return clone; } #endregion #region Private Fields - private string m_messageId; - private string m_messageType; - private string m_publisherId; private ushort m_dataSetWriterId; private string m_dataSetWriterName; + private string m_publisherId; + private string m_writerGroupName; + private uint m_sequenceNumber; + private ConfigurationVersionDataType m_metaDataVersion; + private uint m_minorVersion; private DateTime m_timestamp; - private ActionTargetDataTypeCollection m_actionTargets; - private DataSetMetaDataType m_request; - private DataSetMetaDataType m_response; - private ActionMethodDataTypeCollection m_actionMethods; + private StatusCode m_status; + private string m_messageType; + private ExtensionObject m_payload; #endregion } #endif #endregion - #region JsonActionResponderMessage Class - #if (!OPCUA_EXCLUDE_JsonActionResponderMessage) + #region JsonDataSetMetaDataMessage Class + #if (!OPCUA_EXCLUDE_JsonDataSetMetaDataMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonActionResponderMessage : IEncodeable, IJsonEncodeable + public partial class JsonDataSetMetaDataMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonActionResponderMessage() + public JsonDataSetMetaDataMessage() { Initialize(); } @@ -24346,8 +25792,11 @@ private void Initialize() m_messageId = null; m_messageType = null; m_publisherId = null; + m_dataSetWriterId = (ushort)0; + m_writerGroupName = null; + m_dataSetWriterName = null; m_timestamp = DateTime.MinValue; - m_connection = new PubSubConnectionDataType(); + m_metaData = new DataSetMetaDataType(); } #endregion @@ -24377,7 +25826,31 @@ public string PublisherId } /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 4)] + public ushort DataSetWriterId + { + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } + } + + /// + [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 5)] + public string WriterGroupName + { + get { return m_writerGroupName; } + set { m_writerGroupName = value; } + } + + /// + [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 6)] + public string DataSetWriterName + { + get { return m_dataSetWriterName; } + set { m_dataSetWriterName = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] public DateTime Timestamp { get { return m_timestamp; } @@ -24385,21 +25858,21 @@ public DateTime Timestamp } /// - [DataMember(Name = "Connection", IsRequired = false, Order = 5)] - public PubSubConnectionDataType Connection + [DataMember(Name = "MetaData", IsRequired = false, Order = 8)] + public DataSetMetaDataType MetaData { get { - return m_connection; + return m_metaData; } set { - m_connection = value; + m_metaData = value; if (value == null) { - m_connection = new PubSubConnectionDataType(); + m_metaData = new DataSetMetaDataType(); } } } @@ -24407,7 +25880,7 @@ public PubSubConnectionDataType Connection #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionResponderMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonDataSetMetaDataMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -24426,8 +25899,11 @@ public virtual void Encode(IEncoder encoder) encoder.WriteString("MessageId", MessageId); encoder.WriteString("MessageType", MessageType); encoder.WriteString("PublisherId", PublisherId); + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteString("WriterGroupName", WriterGroupName); + encoder.WriteString("DataSetWriterName", DataSetWriterName); encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteEncodeable("Connection", Connection, typeof(PubSubConnectionDataType)); + encoder.WriteEncodeable("MetaData", MetaData, typeof(DataSetMetaDataType)); encoder.PopNamespace(); } @@ -24440,8 +25916,11 @@ public virtual void Decode(IDecoder decoder) MessageId = decoder.ReadString("MessageId"); MessageType = decoder.ReadString("MessageType"); PublisherId = decoder.ReadString("PublisherId"); + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + WriterGroupName = decoder.ReadString("WriterGroupName"); + DataSetWriterName = decoder.ReadString("DataSetWriterName"); Timestamp = decoder.ReadDateTime("Timestamp"); - Connection = (PubSubConnectionDataType)decoder.ReadEncodeable("Connection", typeof(PubSubConnectionDataType)); + MetaData = (DataSetMetaDataType)decoder.ReadEncodeable("MetaData", typeof(DataSetMetaDataType)); decoder.PopNamespace(); } @@ -24454,7 +25933,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonActionResponderMessage value = encodeable as JsonActionResponderMessage; + JsonDataSetMetaDataMessage value = encodeable as JsonDataSetMetaDataMessage; if (value == null) { @@ -24464,8 +25943,11 @@ public virtual bool IsEqual(IEncodeable encodeable) if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; + if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_connection, value.m_connection)) return false; + if (!Utils.IsEqual(m_metaData, value.m_metaData)) return false; return true; } @@ -24473,19 +25955,22 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonActionResponderMessage)this.MemberwiseClone(); + return (JsonDataSetMetaDataMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonActionResponderMessage clone = (JsonActionResponderMessage)base.MemberwiseClone(); + JsonDataSetMetaDataMessage clone = (JsonDataSetMetaDataMessage)base.MemberwiseClone(); clone.m_messageId = (string)Utils.Clone(this.m_messageId); clone.m_messageType = (string)Utils.Clone(this.m_messageType); clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); + clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_connection = (PubSubConnectionDataType)Utils.Clone(this.m_connection); + clone.m_metaData = (DataSetMetaDataType)Utils.Clone(this.m_metaData); return clone; } @@ -24495,24 +25980,27 @@ public virtual object Clone() private string m_messageId; private string m_messageType; private string m_publisherId; + private ushort m_dataSetWriterId; + private string m_writerGroupName; + private string m_dataSetWriterName; private DateTime m_timestamp; - private PubSubConnectionDataType m_connection; + private DataSetMetaDataType m_metaData; #endregion } #endif #endregion - #region JsonActionNetworkMessage Class - #if (!OPCUA_EXCLUDE_JsonActionNetworkMessage) + #region JsonApplicationDescriptionMessage Class + #if (!OPCUA_EXCLUDE_JsonApplicationDescriptionMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonActionNetworkMessage : IEncodeable, IJsonEncodeable + public partial class JsonApplicationDescriptionMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonActionNetworkMessage() + public JsonApplicationDescriptionMessage() { Initialize(); } @@ -24529,11 +26017,8 @@ private void Initialize() m_messageType = null; m_publisherId = null; m_timestamp = DateTime.MinValue; - m_responseAddress = null; - m_correlationData = null; - m_requestorId = null; - m_timeoutHint = (double)0; - m_messages = new ExtensionObjectCollection(); + m_description = new ApplicationDescription(); + m_serverCapabilities = new StringCollection(); } #endregion @@ -24571,49 +26056,49 @@ public DateTime Timestamp } /// - [DataMember(Name = "ResponseAddress", IsRequired = false, Order = 5)] - public string ResponseAddress + [DataMember(Name = "Description", IsRequired = false, Order = 5)] + public ApplicationDescription Description { - get { return m_responseAddress; } - set { m_responseAddress = value; } - } + get + { + return m_description; + } - /// - [DataMember(Name = "CorrelationData", IsRequired = false, Order = 6)] - public byte[] CorrelationData - { - get { return m_correlationData; } - set { m_correlationData = value; } - } + set + { + m_description = value; - /// - [DataMember(Name = "RequestorId", IsRequired = false, Order = 7)] - public string RequestorId - { - get { return m_requestorId; } - set { m_requestorId = value; } + if (value == null) + { + m_description = new ApplicationDescription(); + } + } } /// - [DataMember(Name = "TimeoutHint", IsRequired = false, Order = 8)] - public double TimeoutHint + [DataMember(Name = "ServerCapabilities", IsRequired = false, Order = 6)] + public StringCollection ServerCapabilities { - get { return m_timeoutHint; } - set { m_timeoutHint = value; } - } + get + { + return m_serverCapabilities; + } - /// - [DataMember(Name = "Messages", IsRequired = false, Order = 9)] - public ExtensionObjectCollection Messages - { - get { return m_messages; } - set { m_messages = value; } + set + { + m_serverCapabilities = value; + + if (value == null) + { + m_serverCapabilities = new StringCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionNetworkMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonApplicationDescriptionMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -24633,11 +26118,8 @@ public virtual void Encode(IEncoder encoder) encoder.WriteString("MessageType", MessageType); encoder.WriteString("PublisherId", PublisherId); encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteString("ResponseAddress", ResponseAddress); - encoder.WriteByteString("CorrelationData", CorrelationData); - encoder.WriteString("RequestorId", RequestorId); - encoder.WriteDouble("TimeoutHint", TimeoutHint); - encoder.WriteExtensionObjectArray("Messages", Messages); + encoder.WriteEncodeable("Description", Description, typeof(ApplicationDescription)); + encoder.WriteStringArray("ServerCapabilities", ServerCapabilities); encoder.PopNamespace(); } @@ -24651,11 +26133,8 @@ public virtual void Decode(IDecoder decoder) MessageType = decoder.ReadString("MessageType"); PublisherId = decoder.ReadString("PublisherId"); Timestamp = decoder.ReadDateTime("Timestamp"); - ResponseAddress = decoder.ReadString("ResponseAddress"); - CorrelationData = decoder.ReadByteString("CorrelationData"); - RequestorId = decoder.ReadString("RequestorId"); - TimeoutHint = decoder.ReadDouble("TimeoutHint"); - Messages = decoder.ReadExtensionObjectArray("Messages"); + Description = (ApplicationDescription)decoder.ReadEncodeable("Description", typeof(ApplicationDescription)); + ServerCapabilities = decoder.ReadStringArray("ServerCapabilities"); decoder.PopNamespace(); } @@ -24668,7 +26147,7 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonActionNetworkMessage value = encodeable as JsonActionNetworkMessage; + JsonApplicationDescriptionMessage value = encodeable as JsonApplicationDescriptionMessage; if (value == null) { @@ -24679,11 +26158,8 @@ public virtual bool IsEqual(IEncodeable encodeable) if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_responseAddress, value.m_responseAddress)) return false; - if (!Utils.IsEqual(m_correlationData, value.m_correlationData)) return false; - if (!Utils.IsEqual(m_requestorId, value.m_requestorId)) return false; - if (!Utils.IsEqual(m_timeoutHint, value.m_timeoutHint)) return false; - if (!Utils.IsEqual(m_messages, value.m_messages)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; + if (!Utils.IsEqual(m_serverCapabilities, value.m_serverCapabilities)) return false; return true; } @@ -24691,23 +26167,20 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonActionNetworkMessage)this.MemberwiseClone(); + return (JsonApplicationDescriptionMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonActionNetworkMessage clone = (JsonActionNetworkMessage)base.MemberwiseClone(); + JsonApplicationDescriptionMessage clone = (JsonApplicationDescriptionMessage)base.MemberwiseClone(); clone.m_messageId = (string)Utils.Clone(this.m_messageId); clone.m_messageType = (string)Utils.Clone(this.m_messageType); clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_responseAddress = (string)Utils.Clone(this.m_responseAddress); - clone.m_correlationData = (byte[])Utils.Clone(this.m_correlationData); - clone.m_requestorId = (string)Utils.Clone(this.m_requestorId); - clone.m_timeoutHint = (double)Utils.Clone(this.m_timeoutHint); - clone.m_messages = (ExtensionObjectCollection)Utils.Clone(this.m_messages); + clone.m_description = (ApplicationDescription)Utils.Clone(this.m_description); + clone.m_serverCapabilities = (StringCollection)Utils.Clone(this.m_serverCapabilities); return clone; } @@ -24718,27 +26191,24 @@ public virtual object Clone() private string m_messageType; private string m_publisherId; private DateTime m_timestamp; - private string m_responseAddress; - private byte[] m_correlationData; - private string m_requestorId; - private double m_timeoutHint; - private ExtensionObjectCollection m_messages; + private ApplicationDescription m_description; + private StringCollection m_serverCapabilities; #endregion } #endif #endregion - #region JsonActionRequestMessage Class - #if (!OPCUA_EXCLUDE_JsonActionRequestMessage) + #region JsonServerEndpointsMessage Class + #if (!OPCUA_EXCLUDE_JsonServerEndpointsMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonActionRequestMessage : IEncodeable, IJsonEncodeable + public partial class JsonServerEndpointsMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonActionRequestMessage() + public JsonServerEndpointsMessage() { Initialize(); } @@ -24751,125 +26221,92 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_dataSetWriterId = (ushort)0; - m_actionTargetId = (ushort)0; - m_dataSetWriterName = null; - m_writerGroupName = null; - m_metaDataVersion = new ConfigurationVersionDataType(); - m_minorVersion = (uint)0; - m_timestamp = DateTime.MinValue; + m_messageId = null; m_messageType = null; - m_requestId = (ushort)0; - m_actionState = ActionState.Idle; - m_payload = null; + m_publisherId = null; + m_timestamp = DateTime.MinValue; + m_description = new ApplicationDescription(); + m_endpoints = new EndpointDescriptionCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] - public ushort DataSetWriterId + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } + get { return m_messageId; } + set { m_messageId = value; } } /// - [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 2)] - public ushort ActionTargetId + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] + public string MessageType { - get { return m_actionTargetId; } - set { m_actionTargetId = value; } + get { return m_messageType; } + set { m_messageType = value; } } /// - [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 3)] - public string DataSetWriterName + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId { - get { return m_dataSetWriterName; } - set { m_dataSetWriterName = value; } + get { return m_publisherId; } + set { m_publisherId = value; } } /// - [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] - public string WriterGroupName + [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + public DateTime Timestamp { - get { return m_writerGroupName; } - set { m_writerGroupName = value; } + get { return m_timestamp; } + set { m_timestamp = value; } } /// - [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 5)] - public ConfigurationVersionDataType MetaDataVersion + [DataMember(Name = "Description", IsRequired = false, Order = 5)] + public ApplicationDescription Description { get { - return m_metaDataVersion; + return m_description; } set { - m_metaDataVersion = value; + m_description = value; if (value == null) { - m_metaDataVersion = new ConfigurationVersionDataType(); + m_description = new ApplicationDescription(); } } } /// - [DataMember(Name = "MinorVersion", IsRequired = false, Order = 6)] - public uint MinorVersion - { - get { return m_minorVersion; } - set { m_minorVersion = value; } - } - - /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] - public DateTime Timestamp - { - get { return m_timestamp; } - set { m_timestamp = value; } - } - - /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 8)] - public string MessageType - { - get { return m_messageType; } - set { m_messageType = value; } - } - - /// - [DataMember(Name = "RequestId", IsRequired = false, Order = 9)] - public ushort RequestId + [DataMember(Name = "Endpoints", IsRequired = false, Order = 6)] + public EndpointDescriptionCollection Endpoints { - get { return m_requestId; } - set { m_requestId = value; } - } + get + { + return m_endpoints; + } - /// - [DataMember(Name = "ActionState", IsRequired = false, Order = 10)] - public ActionState ActionState - { - get { return m_actionState; } - set { m_actionState = value; } - } + set + { + m_endpoints = value; - /// - [DataMember(Name = "Payload", IsRequired = false, Order = 11)] - public ExtensionObject Payload - { - get { return m_payload; } - set { m_payload = value; } + if (value == null) + { + m_endpoints = new EndpointDescriptionCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionRequestMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonServerEndpointsMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -24885,17 +26322,12 @@ public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteUInt16("ActionTargetId", ActionTargetId); - encoder.WriteString("DataSetWriterName", DataSetWriterName); - encoder.WriteString("WriterGroupName", WriterGroupName); - encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); - encoder.WriteUInt32("MinorVersion", MinorVersion); - encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteString("MessageId", MessageId); encoder.WriteString("MessageType", MessageType); - encoder.WriteUInt16("RequestId", RequestId); - encoder.WriteEnumerated("ActionState", ActionState); - encoder.WriteExtensionObject("Payload", Payload); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteEncodeable("Description", Description, typeof(ApplicationDescription)); + encoder.WriteEncodeableArray("Endpoints", Endpoints.ToArray(), typeof(EndpointDescription)); encoder.PopNamespace(); } @@ -24905,17 +26337,12 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - ActionTargetId = decoder.ReadUInt16("ActionTargetId"); - DataSetWriterName = decoder.ReadString("DataSetWriterName"); - WriterGroupName = decoder.ReadString("WriterGroupName"); - MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); - MinorVersion = decoder.ReadUInt32("MinorVersion"); - Timestamp = decoder.ReadDateTime("Timestamp"); + MessageId = decoder.ReadString("MessageId"); MessageType = decoder.ReadString("MessageType"); - RequestId = decoder.ReadUInt16("RequestId"); - ActionState = (ActionState)decoder.ReadEnumerated("ActionState", typeof(ActionState)); - Payload = decoder.ReadExtensionObject("Payload"); + PublisherId = decoder.ReadString("PublisherId"); + Timestamp = decoder.ReadDateTime("Timestamp"); + Description = (ApplicationDescription)decoder.ReadEncodeable("Description", typeof(ApplicationDescription)); + Endpoints = (EndpointDescriptionCollection)decoder.ReadEncodeableArray("Endpoints", typeof(EndpointDescription)); decoder.PopNamespace(); } @@ -24928,24 +26355,19 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonActionRequestMessage value = encodeable as JsonActionRequestMessage; + JsonServerEndpointsMessage value = encodeable as JsonServerEndpointsMessage; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; - if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; - if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; - if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; - if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_requestId, value.m_requestId)) return false; - if (!Utils.IsEqual(m_actionState, value.m_actionState)) return false; - if (!Utils.IsEqual(m_payload, value.m_payload)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; + if (!Utils.IsEqual(m_endpoints, value.m_endpoints)) return false; return true; } @@ -24953,58 +26375,48 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonActionRequestMessage)this.MemberwiseClone(); + return (JsonServerEndpointsMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonActionRequestMessage clone = (JsonActionRequestMessage)base.MemberwiseClone(); + JsonServerEndpointsMessage clone = (JsonServerEndpointsMessage)base.MemberwiseClone(); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); - clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); - clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); - clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); - clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_messageId = (string)Utils.Clone(this.m_messageId); clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_requestId = (ushort)Utils.Clone(this.m_requestId); - clone.m_actionState = (ActionState)Utils.Clone(this.m_actionState); - clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_description = (ApplicationDescription)Utils.Clone(this.m_description); + clone.m_endpoints = (EndpointDescriptionCollection)Utils.Clone(this.m_endpoints); return clone; } #endregion #region Private Fields - private ushort m_dataSetWriterId; - private ushort m_actionTargetId; - private string m_dataSetWriterName; - private string m_writerGroupName; - private ConfigurationVersionDataType m_metaDataVersion; - private uint m_minorVersion; - private DateTime m_timestamp; + private string m_messageId; private string m_messageType; - private ushort m_requestId; - private ActionState m_actionState; - private ExtensionObject m_payload; + private string m_publisherId; + private DateTime m_timestamp; + private ApplicationDescription m_description; + private EndpointDescriptionCollection m_endpoints; #endregion } #endif #endregion - #region JsonActionResponseMessage Class - #if (!OPCUA_EXCLUDE_JsonActionResponseMessage) + #region JsonStatusMessage Class + #if (!OPCUA_EXCLUDE_JsonStatusMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class JsonActionResponseMessage : IEncodeable, IJsonEncodeable + public partial class JsonStatusMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public JsonActionResponseMessage() + public JsonStatusMessage() { Initialize(); } @@ -25017,100 +26429,223 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_dataSetWriterId = (ushort)0; - m_actionTargetId = (ushort)0; - m_dataSetWriterName = null; - m_writerGroupName = null; - m_metaDataVersion = new ConfigurationVersionDataType(); - m_minorVersion = (uint)0; - m_timestamp = DateTime.MinValue; - m_status = StatusCodes.Good; + m_messageId = null; m_messageType = null; - m_requestId = (ushort)0; - m_actionState = ActionState.Idle; - m_payload = null; + m_publisherId = null; + m_timestamp = DateTime.MinValue; + m_isCyclic = true; + m_status = PubSubState.Disabled; + m_nextReportTime = DateTime.MinValue; } #endregion #region Public Properties /// - [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] - public ushort DataSetWriterId + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId { - get { return m_dataSetWriterId; } - set { m_dataSetWriterId = value; } + get { return m_messageId; } + set { m_messageId = value; } } /// - [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 2)] - public ushort ActionTargetId + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] + public string MessageType { - get { return m_actionTargetId; } - set { m_actionTargetId = value; } + get { return m_messageType; } + set { m_messageType = value; } } /// - [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 3)] - public string DataSetWriterName + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId { - get { return m_dataSetWriterName; } - set { m_dataSetWriterName = value; } + get { return m_publisherId; } + set { m_publisherId = value; } } /// - [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] - public string WriterGroupName + [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + public DateTime Timestamp { - get { return m_writerGroupName; } - set { m_writerGroupName = value; } + get { return m_timestamp; } + set { m_timestamp = value; } } /// - [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 5)] - public ConfigurationVersionDataType MetaDataVersion + [DataMember(Name = "IsCyclic", IsRequired = false, Order = 5)] + public bool IsCyclic { - get + get { return m_isCyclic; } + set { m_isCyclic = value; } + } + + /// + [DataMember(Name = "Status", IsRequired = false, Order = 6)] + public PubSubState Status + { + get { return m_status; } + set { m_status = value; } + } + + /// + [DataMember(Name = "NextReportTime", IsRequired = false, Order = 7)] + public DateTime NextReportTime + { + get { return m_nextReportTime; } + set { m_nextReportTime = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonStatusMessage; + + /// + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("MessageId", MessageId); + encoder.WriteString("MessageType", MessageType); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteBoolean("IsCyclic", IsCyclic); + encoder.WriteEnumerated("Status", Status); + encoder.WriteDateTime("NextReportTime", NextReportTime); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + MessageId = decoder.ReadString("MessageId"); + MessageType = decoder.ReadString("MessageType"); + PublisherId = decoder.ReadString("PublisherId"); + Timestamp = decoder.ReadDateTime("Timestamp"); + IsCyclic = decoder.ReadBoolean("IsCyclic"); + Status = (PubSubState)decoder.ReadEnumerated("Status", typeof(PubSubState)); + NextReportTime = decoder.ReadDateTime("NextReportTime"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) { - return m_metaDataVersion; + return true; } - set - { - m_metaDataVersion = value; + JsonStatusMessage value = encodeable as JsonStatusMessage; - if (value == null) - { - m_metaDataVersion = new ConfigurationVersionDataType(); - } + if (value == null) + { + return false; } + + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_isCyclic, value.m_isCyclic)) return false; + if (!Utils.IsEqual(m_status, value.m_status)) return false; + if (!Utils.IsEqual(m_nextReportTime, value.m_nextReportTime)) return false; + + return true; } - /// - [DataMember(Name = "MinorVersion", IsRequired = false, Order = 6)] - public uint MinorVersion + /// + public virtual object Clone() { - get { return m_minorVersion; } - set { m_minorVersion = value; } + return (JsonStatusMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonStatusMessage clone = (JsonStatusMessage)base.MemberwiseClone(); + + clone.m_messageId = (string)Utils.Clone(this.m_messageId); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_isCyclic = (bool)Utils.Clone(this.m_isCyclic); + clone.m_status = (PubSubState)Utils.Clone(this.m_status); + clone.m_nextReportTime = (DateTime)Utils.Clone(this.m_nextReportTime); + + return clone; } + #endregion + + #region Private Fields + private string m_messageId; + private string m_messageType; + private string m_publisherId; + private DateTime m_timestamp; + private bool m_isCyclic; + private PubSubState m_status; + private DateTime m_nextReportTime; + #endregion + } + #endif + #endregion + #region JsonPubSubConnectionMessage Class + #if (!OPCUA_EXCLUDE_JsonPubSubConnectionMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonPubSubConnectionMessage : IEncodeable, IJsonEncodeable + { + #region Constructors /// - [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] - public DateTime Timestamp + public JsonPubSubConnectionMessage() { - get { return m_timestamp; } - set { m_timestamp = value; } + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_messageId = null; + m_messageType = null; + m_publisherId = null; + m_timestamp = DateTime.MinValue; + m_connection = new PubSubConnectionDataType(); } + #endregion + #region Public Properties /// - [DataMember(Name = "Status", IsRequired = false, Order = 8)] - public StatusCode Status + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId { - get { return m_status; } - set { m_status = value; } + get { return m_messageId; } + set { m_messageId = value; } } /// - [DataMember(Name = "MessageType", IsRequired = false, Order = 9)] + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] public string MessageType { get { return m_messageType; } @@ -25118,33 +26653,45 @@ public string MessageType } /// - [DataMember(Name = "RequestId", IsRequired = false, Order = 10)] - public ushort RequestId + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId { - get { return m_requestId; } - set { m_requestId = value; } + get { return m_publisherId; } + set { m_publisherId = value; } } /// - [DataMember(Name = "ActionState", IsRequired = false, Order = 11)] - public ActionState ActionState + [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + public DateTime Timestamp { - get { return m_actionState; } - set { m_actionState = value; } + get { return m_timestamp; } + set { m_timestamp = value; } } /// - [DataMember(Name = "Payload", IsRequired = false, Order = 12)] - public ExtensionObject Payload + [DataMember(Name = "Connection", IsRequired = false, Order = 5)] + public PubSubConnectionDataType Connection { - get { return m_payload; } - set { m_payload = value; } + get + { + return m_connection; + } + + set + { + m_connection = value; + + if (value == null) + { + m_connection = new PubSubConnectionDataType(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionResponseMessage; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonPubSubConnectionMessage; /// public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; @@ -25160,18 +26707,11 @@ public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); - encoder.WriteUInt16("ActionTargetId", ActionTargetId); - encoder.WriteString("DataSetWriterName", DataSetWriterName); - encoder.WriteString("WriterGroupName", WriterGroupName); - encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); - encoder.WriteUInt32("MinorVersion", MinorVersion); - encoder.WriteDateTime("Timestamp", Timestamp); - encoder.WriteStatusCode("Status", Status); + encoder.WriteString("MessageId", MessageId); encoder.WriteString("MessageType", MessageType); - encoder.WriteUInt16("RequestId", RequestId); - encoder.WriteEnumerated("ActionState", ActionState); - encoder.WriteExtensionObject("Payload", Payload); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteEncodeable("Connection", Connection, typeof(PubSubConnectionDataType)); encoder.PopNamespace(); } @@ -25181,18 +26721,11 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); - ActionTargetId = decoder.ReadUInt16("ActionTargetId"); - DataSetWriterName = decoder.ReadString("DataSetWriterName"); - WriterGroupName = decoder.ReadString("WriterGroupName"); - MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); - MinorVersion = decoder.ReadUInt32("MinorVersion"); - Timestamp = decoder.ReadDateTime("Timestamp"); - Status = decoder.ReadStatusCode("Status"); + MessageId = decoder.ReadString("MessageId"); MessageType = decoder.ReadString("MessageType"); - RequestId = decoder.ReadUInt16("RequestId"); - ActionState = (ActionState)decoder.ReadEnumerated("ActionState", typeof(ActionState)); - Payload = decoder.ReadExtensionObject("Payload"); + PublisherId = decoder.ReadString("PublisherId"); + Timestamp = decoder.ReadDateTime("Timestamp"); + Connection = (PubSubConnectionDataType)decoder.ReadEncodeable("Connection", typeof(PubSubConnectionDataType)); decoder.PopNamespace(); } @@ -25205,25 +26738,18 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - JsonActionResponseMessage value = encodeable as JsonActionResponseMessage; + JsonPubSubConnectionMessage value = encodeable as JsonPubSubConnectionMessage; if (value == null) { return false; } - if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; - if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; - if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; - if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; - if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; - if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; - if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; - if (!Utils.IsEqual(m_status, value.m_status)) return false; + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; - if (!Utils.IsEqual(m_requestId, value.m_requestId)) return false; - if (!Utils.IsEqual(m_actionState, value.m_actionState)) return false; - if (!Utils.IsEqual(m_payload, value.m_payload)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_connection, value.m_connection)) return false; return true; } @@ -25231,60 +26757,46 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (JsonActionResponseMessage)this.MemberwiseClone(); + return (JsonPubSubConnectionMessage)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - JsonActionResponseMessage clone = (JsonActionResponseMessage)base.MemberwiseClone(); + JsonPubSubConnectionMessage clone = (JsonPubSubConnectionMessage)base.MemberwiseClone(); - clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); - clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); - clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); - clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); - clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); - clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); - clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); - clone.m_status = (StatusCode)Utils.Clone(this.m_status); + clone.m_messageId = (string)Utils.Clone(this.m_messageId); clone.m_messageType = (string)Utils.Clone(this.m_messageType); - clone.m_requestId = (ushort)Utils.Clone(this.m_requestId); - clone.m_actionState = (ActionState)Utils.Clone(this.m_actionState); - clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_connection = (PubSubConnectionDataType)Utils.Clone(this.m_connection); return clone; } #endregion #region Private Fields - private ushort m_dataSetWriterId; - private ushort m_actionTargetId; - private string m_dataSetWriterName; - private string m_writerGroupName; - private ConfigurationVersionDataType m_metaDataVersion; - private uint m_minorVersion; - private DateTime m_timestamp; - private StatusCode m_status; + private string m_messageId; private string m_messageType; - private ushort m_requestId; - private ActionState m_actionState; - private ExtensionObject m_payload; + private string m_publisherId; + private DateTime m_timestamp; + private PubSubConnectionDataType m_connection; #endregion } #endif #endregion - #region AliasNameDataType Class - #if (!OPCUA_EXCLUDE_AliasNameDataType) + #region JsonActionMetaDataMessage Class + #if (!OPCUA_EXCLUDE_JsonActionMetaDataMessage) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class AliasNameDataType : IEncodeable, IJsonEncodeable + public partial class JsonActionMetaDataMessage : IEncodeable, IJsonEncodeable { #region Constructors /// - public AliasNameDataType() + public JsonActionMetaDataMessage() { Initialize(); } @@ -25297,36 +26809,144 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_aliasName = null; - m_referencedNodes = new ExpandedNodeIdCollection(); + m_messageId = null; + m_messageType = null; + m_publisherId = null; + m_dataSetWriterId = (ushort)0; + m_dataSetWriterName = null; + m_timestamp = DateTime.MinValue; + m_actionTargets = new ActionTargetDataTypeCollection(); + m_request = new DataSetMetaDataType(); + m_response = new DataSetMetaDataType(); + m_actionMethods = new ActionMethodDataTypeCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "AliasName", IsRequired = false, Order = 1)] - public QualifiedName AliasName + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId { - get { return m_aliasName; } - set { m_aliasName = value; } + get { return m_messageId; } + set { m_messageId = value; } } /// - [DataMember(Name = "ReferencedNodes", IsRequired = false, Order = 2)] - public ExpandedNodeIdCollection ReferencedNodes + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } + + /// + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId + { + get { return m_publisherId; } + set { m_publisherId = value; } + } + + /// + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 4)] + public ushort DataSetWriterId + { + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } + } + + /// + [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 5)] + public string DataSetWriterName + { + get { return m_dataSetWriterName; } + set { m_dataSetWriterName = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 6)] + public DateTime Timestamp + { + get { return m_timestamp; } + set { m_timestamp = value; } + } + + /// + [DataMember(Name = "ActionTargets", IsRequired = false, Order = 7)] + public ActionTargetDataTypeCollection ActionTargets { get { - return m_referencedNodes; + return m_actionTargets; } set { - m_referencedNodes = value; + m_actionTargets = value; if (value == null) { - m_referencedNodes = new ExpandedNodeIdCollection(); + m_actionTargets = new ActionTargetDataTypeCollection(); + } + } + } + + /// + [DataMember(Name = "Request", IsRequired = false, Order = 8)] + public DataSetMetaDataType Request + { + get + { + return m_request; + } + + set + { + m_request = value; + + if (value == null) + { + m_request = new DataSetMetaDataType(); + } + } + } + + /// + [DataMember(Name = "Response", IsRequired = false, Order = 9)] + public DataSetMetaDataType Response + { + get + { + return m_response; + } + + set + { + m_response = value; + + if (value == null) + { + m_response = new DataSetMetaDataType(); + } + } + } + + /// + [DataMember(Name = "ActionMethods", IsRequired = false, Order = 10)] + public ActionMethodDataTypeCollection ActionMethods + { + get + { + return m_actionMethods; + } + + set + { + m_actionMethods = value; + + if (value == null) + { + m_actionMethods = new ActionMethodDataTypeCollection(); } } } @@ -25334,24 +26954,32 @@ public ExpandedNodeIdCollection ReferencedNodes #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.AliasNameDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionMetaDataMessage; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteQualifiedName("AliasName", AliasName); - encoder.WriteExpandedNodeIdArray("ReferencedNodes", ReferencedNodes); + encoder.WriteString("MessageId", MessageId); + encoder.WriteString("MessageType", MessageType); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteString("DataSetWriterName", DataSetWriterName); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteEncodeableArray("ActionTargets", ActionTargets.ToArray(), typeof(ActionTargetDataType)); + encoder.WriteEncodeable("Request", Request, typeof(DataSetMetaDataType)); + encoder.WriteEncodeable("Response", Response, typeof(DataSetMetaDataType)); + encoder.WriteEncodeableArray("ActionMethods", ActionMethods.ToArray(), typeof(ActionMethodDataType)); encoder.PopNamespace(); } @@ -25361,8 +26989,16 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - AliasName = decoder.ReadQualifiedName("AliasName"); - ReferencedNodes = decoder.ReadExpandedNodeIdArray("ReferencedNodes"); + MessageId = decoder.ReadString("MessageId"); + MessageType = decoder.ReadString("MessageType"); + PublisherId = decoder.ReadString("PublisherId"); + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + DataSetWriterName = decoder.ReadString("DataSetWriterName"); + Timestamp = decoder.ReadDateTime("Timestamp"); + ActionTargets = (ActionTargetDataTypeCollection)decoder.ReadEncodeableArray("ActionTargets", typeof(ActionTargetDataType)); + Request = (DataSetMetaDataType)decoder.ReadEncodeable("Request", typeof(DataSetMetaDataType)); + Response = (DataSetMetaDataType)decoder.ReadEncodeable("Response", typeof(DataSetMetaDataType)); + ActionMethods = (ActionMethodDataTypeCollection)decoder.ReadEncodeableArray("ActionMethods", typeof(ActionMethodDataType)); decoder.PopNamespace(); } @@ -25375,15 +27011,23 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - AliasNameDataType value = encodeable as AliasNameDataType; + JsonActionMetaDataMessage value = encodeable as JsonActionMetaDataMessage; if (value == null) { return false; } - if (!Utils.IsEqual(m_aliasName, value.m_aliasName)) return false; - if (!Utils.IsEqual(m_referencedNodes, value.m_referencedNodes)) return false; + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_actionTargets, value.m_actionTargets)) return false; + if (!Utils.IsEqual(m_request, value.m_request)) return false; + if (!Utils.IsEqual(m_response, value.m_response)) return false; + if (!Utils.IsEqual(m_actionMethods, value.m_actionMethods)) return false; return true; } @@ -25391,59 +27035,1964 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (AliasNameDataType)this.MemberwiseClone(); + return (JsonActionMetaDataMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonActionMetaDataMessage clone = (JsonActionMetaDataMessage)base.MemberwiseClone(); + + clone.m_messageId = (string)Utils.Clone(this.m_messageId); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_actionTargets = (ActionTargetDataTypeCollection)Utils.Clone(this.m_actionTargets); + clone.m_request = (DataSetMetaDataType)Utils.Clone(this.m_request); + clone.m_response = (DataSetMetaDataType)Utils.Clone(this.m_response); + clone.m_actionMethods = (ActionMethodDataTypeCollection)Utils.Clone(this.m_actionMethods); + + return clone; } + #endregion + + #region Private Fields + private string m_messageId; + private string m_messageType; + private string m_publisherId; + private ushort m_dataSetWriterId; + private string m_dataSetWriterName; + private DateTime m_timestamp; + private ActionTargetDataTypeCollection m_actionTargets; + private DataSetMetaDataType m_request; + private DataSetMetaDataType m_response; + private ActionMethodDataTypeCollection m_actionMethods; + #endregion + } + #endif + #endregion + + #region JsonActionResponderMessage Class + #if (!OPCUA_EXCLUDE_JsonActionResponderMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonActionResponderMessage : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public JsonActionResponderMessage() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_messageId = null; + m_messageType = null; + m_publisherId = null; + m_timestamp = DateTime.MinValue; + m_connection = new PubSubConnectionDataType(); + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId + { + get { return m_messageId; } + set { m_messageId = value; } + } + + /// + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } + + /// + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId + { + get { return m_publisherId; } + set { m_publisherId = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + public DateTime Timestamp + { + get { return m_timestamp; } + set { m_timestamp = value; } + } + + /// + [DataMember(Name = "Connection", IsRequired = false, Order = 5)] + public PubSubConnectionDataType Connection + { + get + { + return m_connection; + } + + set + { + m_connection = value; + + if (value == null) + { + m_connection = new PubSubConnectionDataType(); + } + } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionResponderMessage; + + /// + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("MessageId", MessageId); + encoder.WriteString("MessageType", MessageType); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteEncodeable("Connection", Connection, typeof(PubSubConnectionDataType)); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + MessageId = decoder.ReadString("MessageId"); + MessageType = decoder.ReadString("MessageType"); + PublisherId = decoder.ReadString("PublisherId"); + Timestamp = decoder.ReadDateTime("Timestamp"); + Connection = (PubSubConnectionDataType)decoder.ReadEncodeable("Connection", typeof(PubSubConnectionDataType)); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + JsonActionResponderMessage value = encodeable as JsonActionResponderMessage; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_connection, value.m_connection)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (JsonActionResponderMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonActionResponderMessage clone = (JsonActionResponderMessage)base.MemberwiseClone(); + + clone.m_messageId = (string)Utils.Clone(this.m_messageId); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_connection = (PubSubConnectionDataType)Utils.Clone(this.m_connection); + + return clone; + } + #endregion + + #region Private Fields + private string m_messageId; + private string m_messageType; + private string m_publisherId; + private DateTime m_timestamp; + private PubSubConnectionDataType m_connection; + #endregion + } + #endif + #endregion + + #region JsonActionNetworkMessage Class + #if (!OPCUA_EXCLUDE_JsonActionNetworkMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonActionNetworkMessage : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public JsonActionNetworkMessage() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_messageId = null; + m_messageType = null; + m_publisherId = null; + m_timestamp = DateTime.MinValue; + m_responseAddress = null; + m_correlationData = null; + m_requestorId = null; + m_timeoutHint = (double)0; + m_messages = new ExtensionObjectCollection(); + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "MessageId", IsRequired = false, Order = 1)] + public string MessageId + { + get { return m_messageId; } + set { m_messageId = value; } + } + + /// + [DataMember(Name = "MessageType", IsRequired = false, Order = 2)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } + + /// + [DataMember(Name = "PublisherId", IsRequired = false, Order = 3)] + public string PublisherId + { + get { return m_publisherId; } + set { m_publisherId = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 4)] + public DateTime Timestamp + { + get { return m_timestamp; } + set { m_timestamp = value; } + } + + /// + [DataMember(Name = "ResponseAddress", IsRequired = false, Order = 5)] + public string ResponseAddress + { + get { return m_responseAddress; } + set { m_responseAddress = value; } + } + + /// + [DataMember(Name = "CorrelationData", IsRequired = false, Order = 6)] + public byte[] CorrelationData + { + get { return m_correlationData; } + set { m_correlationData = value; } + } + + /// + [DataMember(Name = "RequestorId", IsRequired = false, Order = 7)] + public string RequestorId + { + get { return m_requestorId; } + set { m_requestorId = value; } + } + + /// + [DataMember(Name = "TimeoutHint", IsRequired = false, Order = 8)] + public double TimeoutHint + { + get { return m_timeoutHint; } + set { m_timeoutHint = value; } + } + + /// + [DataMember(Name = "Messages", IsRequired = false, Order = 9)] + public ExtensionObjectCollection Messages + { + get { return m_messages; } + set { m_messages = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionNetworkMessage; + + /// + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("MessageId", MessageId); + encoder.WriteString("MessageType", MessageType); + encoder.WriteString("PublisherId", PublisherId); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteString("ResponseAddress", ResponseAddress); + encoder.WriteByteString("CorrelationData", CorrelationData); + encoder.WriteString("RequestorId", RequestorId); + encoder.WriteDouble("TimeoutHint", TimeoutHint); + encoder.WriteExtensionObjectArray("Messages", Messages); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + MessageId = decoder.ReadString("MessageId"); + MessageType = decoder.ReadString("MessageType"); + PublisherId = decoder.ReadString("PublisherId"); + Timestamp = decoder.ReadDateTime("Timestamp"); + ResponseAddress = decoder.ReadString("ResponseAddress"); + CorrelationData = decoder.ReadByteString("CorrelationData"); + RequestorId = decoder.ReadString("RequestorId"); + TimeoutHint = decoder.ReadDouble("TimeoutHint"); + Messages = decoder.ReadExtensionObjectArray("Messages"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + JsonActionNetworkMessage value = encodeable as JsonActionNetworkMessage; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_messageId, value.m_messageId)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_publisherId, value.m_publisherId)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_responseAddress, value.m_responseAddress)) return false; + if (!Utils.IsEqual(m_correlationData, value.m_correlationData)) return false; + if (!Utils.IsEqual(m_requestorId, value.m_requestorId)) return false; + if (!Utils.IsEqual(m_timeoutHint, value.m_timeoutHint)) return false; + if (!Utils.IsEqual(m_messages, value.m_messages)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (JsonActionNetworkMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonActionNetworkMessage clone = (JsonActionNetworkMessage)base.MemberwiseClone(); + + clone.m_messageId = (string)Utils.Clone(this.m_messageId); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_publisherId = (string)Utils.Clone(this.m_publisherId); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_responseAddress = (string)Utils.Clone(this.m_responseAddress); + clone.m_correlationData = (byte[])Utils.Clone(this.m_correlationData); + clone.m_requestorId = (string)Utils.Clone(this.m_requestorId); + clone.m_timeoutHint = (double)Utils.Clone(this.m_timeoutHint); + clone.m_messages = (ExtensionObjectCollection)Utils.Clone(this.m_messages); + + return clone; + } + #endregion + + #region Private Fields + private string m_messageId; + private string m_messageType; + private string m_publisherId; + private DateTime m_timestamp; + private string m_responseAddress; + private byte[] m_correlationData; + private string m_requestorId; + private double m_timeoutHint; + private ExtensionObjectCollection m_messages; + #endregion + } + #endif + #endregion + + #region JsonActionRequestMessage Class + #if (!OPCUA_EXCLUDE_JsonActionRequestMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonActionRequestMessage : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public JsonActionRequestMessage() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_dataSetWriterId = (ushort)0; + m_actionTargetId = (ushort)0; + m_dataSetWriterName = null; + m_writerGroupName = null; + m_metaDataVersion = new ConfigurationVersionDataType(); + m_minorVersion = (uint)0; + m_timestamp = DateTime.MinValue; + m_messageType = null; + m_requestId = (ushort)0; + m_actionState = ActionState.Idle; + m_payload = null; + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] + public ushort DataSetWriterId + { + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } + } + + /// + [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 2)] + public ushort ActionTargetId + { + get { return m_actionTargetId; } + set { m_actionTargetId = value; } + } + + /// + [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 3)] + public string DataSetWriterName + { + get { return m_dataSetWriterName; } + set { m_dataSetWriterName = value; } + } + + /// + [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] + public string WriterGroupName + { + get { return m_writerGroupName; } + set { m_writerGroupName = value; } + } + + /// + [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 5)] + public ConfigurationVersionDataType MetaDataVersion + { + get + { + return m_metaDataVersion; + } + + set + { + m_metaDataVersion = value; + + if (value == null) + { + m_metaDataVersion = new ConfigurationVersionDataType(); + } + } + } + + /// + [DataMember(Name = "MinorVersion", IsRequired = false, Order = 6)] + public uint MinorVersion + { + get { return m_minorVersion; } + set { m_minorVersion = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] + public DateTime Timestamp + { + get { return m_timestamp; } + set { m_timestamp = value; } + } + + /// + [DataMember(Name = "MessageType", IsRequired = false, Order = 8)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } + + /// + [DataMember(Name = "RequestId", IsRequired = false, Order = 9)] + public ushort RequestId + { + get { return m_requestId; } + set { m_requestId = value; } + } + + /// + [DataMember(Name = "ActionState", IsRequired = false, Order = 10)] + public ActionState ActionState + { + get { return m_actionState; } + set { m_actionState = value; } + } + + /// + [DataMember(Name = "Payload", IsRequired = false, Order = 11)] + public ExtensionObject Payload + { + get { return m_payload; } + set { m_payload = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionRequestMessage; + + /// + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteUInt16("ActionTargetId", ActionTargetId); + encoder.WriteString("DataSetWriterName", DataSetWriterName); + encoder.WriteString("WriterGroupName", WriterGroupName); + encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); + encoder.WriteUInt32("MinorVersion", MinorVersion); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteString("MessageType", MessageType); + encoder.WriteUInt16("RequestId", RequestId); + encoder.WriteEnumerated("ActionState", ActionState); + encoder.WriteExtensionObject("Payload", Payload); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + ActionTargetId = decoder.ReadUInt16("ActionTargetId"); + DataSetWriterName = decoder.ReadString("DataSetWriterName"); + WriterGroupName = decoder.ReadString("WriterGroupName"); + MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); + MinorVersion = decoder.ReadUInt32("MinorVersion"); + Timestamp = decoder.ReadDateTime("Timestamp"); + MessageType = decoder.ReadString("MessageType"); + RequestId = decoder.ReadUInt16("RequestId"); + ActionState = (ActionState)decoder.ReadEnumerated("ActionState", typeof(ActionState)); + Payload = decoder.ReadExtensionObject("Payload"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + JsonActionRequestMessage value = encodeable as JsonActionRequestMessage; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; + if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; + if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; + if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; + if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_requestId, value.m_requestId)) return false; + if (!Utils.IsEqual(m_actionState, value.m_actionState)) return false; + if (!Utils.IsEqual(m_payload, value.m_payload)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (JsonActionRequestMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonActionRequestMessage clone = (JsonActionRequestMessage)base.MemberwiseClone(); + + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); + clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); + clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); + clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); + clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_requestId = (ushort)Utils.Clone(this.m_requestId); + clone.m_actionState = (ActionState)Utils.Clone(this.m_actionState); + clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); + + return clone; + } + #endregion + + #region Private Fields + private ushort m_dataSetWriterId; + private ushort m_actionTargetId; + private string m_dataSetWriterName; + private string m_writerGroupName; + private ConfigurationVersionDataType m_metaDataVersion; + private uint m_minorVersion; + private DateTime m_timestamp; + private string m_messageType; + private ushort m_requestId; + private ActionState m_actionState; + private ExtensionObject m_payload; + #endregion + } + #endif + #endregion + + #region JsonActionResponseMessage Class + #if (!OPCUA_EXCLUDE_JsonActionResponseMessage) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class JsonActionResponseMessage : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public JsonActionResponseMessage() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_dataSetWriterId = (ushort)0; + m_actionTargetId = (ushort)0; + m_dataSetWriterName = null; + m_writerGroupName = null; + m_metaDataVersion = new ConfigurationVersionDataType(); + m_minorVersion = (uint)0; + m_timestamp = DateTime.MinValue; + m_status = StatusCodes.Good; + m_messageType = null; + m_requestId = (ushort)0; + m_actionState = ActionState.Idle; + m_payload = null; + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "DataSetWriterId", IsRequired = false, Order = 1)] + public ushort DataSetWriterId + { + get { return m_dataSetWriterId; } + set { m_dataSetWriterId = value; } + } + + /// + [DataMember(Name = "ActionTargetId", IsRequired = false, Order = 2)] + public ushort ActionTargetId + { + get { return m_actionTargetId; } + set { m_actionTargetId = value; } + } + + /// + [DataMember(Name = "DataSetWriterName", IsRequired = false, Order = 3)] + public string DataSetWriterName + { + get { return m_dataSetWriterName; } + set { m_dataSetWriterName = value; } + } + + /// + [DataMember(Name = "WriterGroupName", IsRequired = false, Order = 4)] + public string WriterGroupName + { + get { return m_writerGroupName; } + set { m_writerGroupName = value; } + } + + /// + [DataMember(Name = "MetaDataVersion", IsRequired = false, Order = 5)] + public ConfigurationVersionDataType MetaDataVersion + { + get + { + return m_metaDataVersion; + } + + set + { + m_metaDataVersion = value; + + if (value == null) + { + m_metaDataVersion = new ConfigurationVersionDataType(); + } + } + } + + /// + [DataMember(Name = "MinorVersion", IsRequired = false, Order = 6)] + public uint MinorVersion + { + get { return m_minorVersion; } + set { m_minorVersion = value; } + } + + /// + [DataMember(Name = "Timestamp", IsRequired = false, Order = 7)] + public DateTime Timestamp + { + get { return m_timestamp; } + set { m_timestamp = value; } + } + + /// + [DataMember(Name = "Status", IsRequired = false, Order = 8)] + public StatusCode Status + { + get { return m_status; } + set { m_status = value; } + } + + /// + [DataMember(Name = "MessageType", IsRequired = false, Order = 9)] + public string MessageType + { + get { return m_messageType; } + set { m_messageType = value; } + } + + /// + [DataMember(Name = "RequestId", IsRequired = false, Order = 10)] + public ushort RequestId + { + get { return m_requestId; } + set { m_requestId = value; } + } + + /// + [DataMember(Name = "ActionState", IsRequired = false, Order = 11)] + public ActionState ActionState + { + get { return m_actionState; } + set { m_actionState = value; } + } + + /// + [DataMember(Name = "Payload", IsRequired = false, Order = 12)] + public ExtensionObject Payload + { + get { return m_payload; } + set { m_payload = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.JsonActionResponseMessage; + + /// + public virtual ExpandedNodeId BinaryEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId XmlEncodingId => NodeId.Null; + + /// + public virtual ExpandedNodeId JsonEncodingId => NodeId.Null; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteUInt16("DataSetWriterId", DataSetWriterId); + encoder.WriteUInt16("ActionTargetId", ActionTargetId); + encoder.WriteString("DataSetWriterName", DataSetWriterName); + encoder.WriteString("WriterGroupName", WriterGroupName); + encoder.WriteEncodeable("MetaDataVersion", MetaDataVersion, typeof(ConfigurationVersionDataType)); + encoder.WriteUInt32("MinorVersion", MinorVersion); + encoder.WriteDateTime("Timestamp", Timestamp); + encoder.WriteStatusCode("Status", Status); + encoder.WriteString("MessageType", MessageType); + encoder.WriteUInt16("RequestId", RequestId); + encoder.WriteEnumerated("ActionState", ActionState); + encoder.WriteExtensionObject("Payload", Payload); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + DataSetWriterId = decoder.ReadUInt16("DataSetWriterId"); + ActionTargetId = decoder.ReadUInt16("ActionTargetId"); + DataSetWriterName = decoder.ReadString("DataSetWriterName"); + WriterGroupName = decoder.ReadString("WriterGroupName"); + MetaDataVersion = (ConfigurationVersionDataType)decoder.ReadEncodeable("MetaDataVersion", typeof(ConfigurationVersionDataType)); + MinorVersion = decoder.ReadUInt32("MinorVersion"); + Timestamp = decoder.ReadDateTime("Timestamp"); + Status = decoder.ReadStatusCode("Status"); + MessageType = decoder.ReadString("MessageType"); + RequestId = decoder.ReadUInt16("RequestId"); + ActionState = (ActionState)decoder.ReadEnumerated("ActionState", typeof(ActionState)); + Payload = decoder.ReadExtensionObject("Payload"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + JsonActionResponseMessage value = encodeable as JsonActionResponseMessage; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_dataSetWriterId, value.m_dataSetWriterId)) return false; + if (!Utils.IsEqual(m_actionTargetId, value.m_actionTargetId)) return false; + if (!Utils.IsEqual(m_dataSetWriterName, value.m_dataSetWriterName)) return false; + if (!Utils.IsEqual(m_writerGroupName, value.m_writerGroupName)) return false; + if (!Utils.IsEqual(m_metaDataVersion, value.m_metaDataVersion)) return false; + if (!Utils.IsEqual(m_minorVersion, value.m_minorVersion)) return false; + if (!Utils.IsEqual(m_timestamp, value.m_timestamp)) return false; + if (!Utils.IsEqual(m_status, value.m_status)) return false; + if (!Utils.IsEqual(m_messageType, value.m_messageType)) return false; + if (!Utils.IsEqual(m_requestId, value.m_requestId)) return false; + if (!Utils.IsEqual(m_actionState, value.m_actionState)) return false; + if (!Utils.IsEqual(m_payload, value.m_payload)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (JsonActionResponseMessage)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + JsonActionResponseMessage clone = (JsonActionResponseMessage)base.MemberwiseClone(); + + clone.m_dataSetWriterId = (ushort)Utils.Clone(this.m_dataSetWriterId); + clone.m_actionTargetId = (ushort)Utils.Clone(this.m_actionTargetId); + clone.m_dataSetWriterName = (string)Utils.Clone(this.m_dataSetWriterName); + clone.m_writerGroupName = (string)Utils.Clone(this.m_writerGroupName); + clone.m_metaDataVersion = (ConfigurationVersionDataType)Utils.Clone(this.m_metaDataVersion); + clone.m_minorVersion = (uint)Utils.Clone(this.m_minorVersion); + clone.m_timestamp = (DateTime)Utils.Clone(this.m_timestamp); + clone.m_status = (StatusCode)Utils.Clone(this.m_status); + clone.m_messageType = (string)Utils.Clone(this.m_messageType); + clone.m_requestId = (ushort)Utils.Clone(this.m_requestId); + clone.m_actionState = (ActionState)Utils.Clone(this.m_actionState); + clone.m_payload = (ExtensionObject)Utils.Clone(this.m_payload); + + return clone; + } + #endregion + + #region Private Fields + private ushort m_dataSetWriterId; + private ushort m_actionTargetId; + private string m_dataSetWriterName; + private string m_writerGroupName; + private ConfigurationVersionDataType m_metaDataVersion; + private uint m_minorVersion; + private DateTime m_timestamp; + private StatusCode m_status; + private string m_messageType; + private ushort m_requestId; + private ActionState m_actionState; + private ExtensionObject m_payload; + #endregion + } + #endif + #endregion + + #region AliasNameDataType Class + #if (!OPCUA_EXCLUDE_AliasNameDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class AliasNameDataType : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public AliasNameDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_aliasName = null; + m_referencedNodes = new ExpandedNodeIdCollection(); + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "AliasName", IsRequired = false, Order = 1)] + public QualifiedName AliasName + { + get { return m_aliasName; } + set { m_aliasName = value; } + } + + /// + [DataMember(Name = "ReferencedNodes", IsRequired = false, Order = 2)] + public ExpandedNodeIdCollection ReferencedNodes + { + get + { + return m_referencedNodes; + } + + set + { + m_referencedNodes = value; + + if (value == null) + { + m_referencedNodes = new ExpandedNodeIdCollection(); + } + } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.AliasNameDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.AliasNameDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteQualifiedName("AliasName", AliasName); + encoder.WriteExpandedNodeIdArray("ReferencedNodes", ReferencedNodes); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + AliasName = decoder.ReadQualifiedName("AliasName"); + ReferencedNodes = decoder.ReadExpandedNodeIdArray("ReferencedNodes"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + AliasNameDataType value = encodeable as AliasNameDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_aliasName, value.m_aliasName)) return false; + if (!Utils.IsEqual(m_referencedNodes, value.m_referencedNodes)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (AliasNameDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + AliasNameDataType clone = (AliasNameDataType)base.MemberwiseClone(); + + clone.m_aliasName = (QualifiedName)Utils.Clone(this.m_aliasName); + clone.m_referencedNodes = (ExpandedNodeIdCollection)Utils.Clone(this.m_referencedNodes); + + return clone; + } + #endregion + + #region Private Fields + private QualifiedName m_aliasName; + private ExpandedNodeIdCollection m_referencedNodes; + #endregion + } + + #region AliasNameDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfAliasNameDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "AliasNameDataType")] + public partial class AliasNameDataTypeCollection : List, ICloneable + { + #region Constructors + /// + public AliasNameDataTypeCollection() {} + + /// + public AliasNameDataTypeCollection(int capacity) : base(capacity) {} + + /// + public AliasNameDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator AliasNameDataTypeCollection(AliasNameDataType[] values) + { + if (values != null) + { + return new AliasNameDataTypeCollection(values); + } + + return new AliasNameDataTypeCollection(); + } + + /// + public static explicit operator AliasNameDataType[](AliasNameDataTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (AliasNameDataTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + AliasNameDataTypeCollection clone = new AliasNameDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((AliasNameDataType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region PasswordOptionsMask Enumeration + #if (!OPCUA_EXCLUDE_PasswordOptionsMask) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum PasswordOptionsMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "SupportInitialPasswordChange_1")] + SupportInitialPasswordChange = 1, + + /// + [EnumMember(Value = "SupportDisableUser_2")] + SupportDisableUser = 2, + + /// + [EnumMember(Value = "SupportDisableDeleteForUser_4")] + SupportDisableDeleteForUser = 4, + + /// + [EnumMember(Value = "SupportNoChangeForUser_8")] + SupportNoChangeForUser = 8, + + /// + [EnumMember(Value = "SupportDescriptionForUser_16")] + SupportDescriptionForUser = 16, + + /// + [EnumMember(Value = "RequiresUpperCaseCharacters_32")] + RequiresUpperCaseCharacters = 32, + + /// + [EnumMember(Value = "RequiresLowerCaseCharacters_64")] + RequiresLowerCaseCharacters = 64, + + /// + [EnumMember(Value = "RequiresDigitCharacters_128")] + RequiresDigitCharacters = 128, + + /// + [EnumMember(Value = "RequiresSpecialCharacters_256")] + RequiresSpecialCharacters = 256, + } + + #region PasswordOptionsMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfPasswordOptionsMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PasswordOptionsMask")] + public partial class PasswordOptionsMaskCollection : List, ICloneable + { + #region Constructors + /// + public PasswordOptionsMaskCollection() {} + + /// + public PasswordOptionsMaskCollection(int capacity) : base(capacity) {} + + /// + public PasswordOptionsMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator PasswordOptionsMaskCollection(PasswordOptionsMask[] values) + { + if (values != null) + { + return new PasswordOptionsMaskCollection(values); + } + + return new PasswordOptionsMaskCollection(); + } + + /// + public static explicit operator PasswordOptionsMask[](PasswordOptionsMaskCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (PasswordOptionsMaskCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + PasswordOptionsMaskCollection clone = new PasswordOptionsMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PasswordOptionsMask)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region UserConfigurationMask Enumeration + #if (!OPCUA_EXCLUDE_UserConfigurationMask) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum UserConfigurationMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "NoDelete_1")] + NoDelete = 1, + + /// + [EnumMember(Value = "Disabled_2")] + Disabled = 2, + + /// + [EnumMember(Value = "NoChangeByUser_4")] + NoChangeByUser = 4, + + /// + [EnumMember(Value = "MustChangePassword_8")] + MustChangePassword = 8, + } + + #region UserConfigurationMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfUserConfigurationMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UserConfigurationMask")] + public partial class UserConfigurationMaskCollection : List, ICloneable + { + #region Constructors + /// + public UserConfigurationMaskCollection() {} + + /// + public UserConfigurationMaskCollection(int capacity) : base(capacity) {} + + /// + public UserConfigurationMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator UserConfigurationMaskCollection(UserConfigurationMask[] values) + { + if (values != null) + { + return new UserConfigurationMaskCollection(values); + } + + return new UserConfigurationMaskCollection(); + } + + /// + public static explicit operator UserConfigurationMask[](UserConfigurationMaskCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (UserConfigurationMaskCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + UserConfigurationMaskCollection clone = new UserConfigurationMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((UserConfigurationMask)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region UserManagementDataType Class + #if (!OPCUA_EXCLUDE_UserManagementDataType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class UserManagementDataType : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public UserManagementDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_userName = null; + m_userConfiguration = 0; + m_description = null; + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "UserName", IsRequired = false, Order = 1)] + public string UserName + { + get { return m_userName; } + set { m_userName = value; } + } + + /// + [DataMember(Name = "UserConfiguration", IsRequired = false, Order = 2)] + public uint UserConfiguration + { + get { return m_userConfiguration; } + set { m_userConfiguration = value; } + } + + /// + [DataMember(Name = "Description", IsRequired = false, Order = 3)] + public string Description + { + get { return m_description; } + set { m_description = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.UserManagementDataType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteString("UserName", UserName); + encoder.WriteUInt32("UserConfiguration", UserConfiguration); + encoder.WriteString("Description", Description); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + UserName = decoder.ReadString("UserName"); + UserConfiguration = decoder.ReadUInt32("UserConfiguration"); + Description = decoder.ReadString("Description"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + UserManagementDataType value = encodeable as UserManagementDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_userName, value.m_userName)) return false; + if (!Utils.IsEqual(m_userConfiguration, value.m_userConfiguration)) return false; + if (!Utils.IsEqual(m_description, value.m_description)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (UserManagementDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + UserManagementDataType clone = (UserManagementDataType)base.MemberwiseClone(); + + clone.m_userName = (string)Utils.Clone(this.m_userName); + clone.m_userConfiguration = (uint)Utils.Clone(this.m_userConfiguration); + clone.m_description = (string)Utils.Clone(this.m_description); + + return clone; + } + #endregion + + #region Private Fields + private string m_userName; + private uint m_userConfiguration; + private string m_description; + #endregion + } + + #region UserManagementDataTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfUserManagementDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UserManagementDataType")] + public partial class UserManagementDataTypeCollection : List, ICloneable + { + #region Constructors + /// + public UserManagementDataTypeCollection() {} + + /// + public UserManagementDataTypeCollection(int capacity) : base(capacity) {} + + /// + public UserManagementDataTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator UserManagementDataTypeCollection(UserManagementDataType[] values) + { + if (values != null) + { + return new UserManagementDataTypeCollection(values); + } + + return new UserManagementDataTypeCollection(); + } + + /// + public static explicit operator UserManagementDataType[](UserManagementDataTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (UserManagementDataTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + UserManagementDataTypeCollection clone = new UserManagementDataTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((UserManagementDataType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region Duplex Enumeration + #if (!OPCUA_EXCLUDE_Duplex) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum Duplex + { + /// + [EnumMember(Value = "Full_0")] + Full = 0, + + /// + [EnumMember(Value = "Half_1")] + Half = 1, + + /// + [EnumMember(Value = "Unknown_2")] + Unknown = 2, + } + + #region DuplexCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfDuplex", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "Duplex")] + public partial class DuplexCollection : List, ICloneable + { + #region Constructors + /// + public DuplexCollection() {} + + /// + public DuplexCollection(int capacity) : base(capacity) {} + + /// + public DuplexCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator DuplexCollection(Duplex[] values) + { + if (values != null) + { + return new DuplexCollection(values); + } + + return new DuplexCollection(); + } + + /// + public static explicit operator Duplex[](DuplexCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (DuplexCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + DuplexCollection clone = new DuplexCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((Duplex)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region InterfaceAdminStatus Enumeration + #if (!OPCUA_EXCLUDE_InterfaceAdminStatus) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum InterfaceAdminStatus + { + /// + [EnumMember(Value = "Up_0")] + Up = 0, + + /// + [EnumMember(Value = "Down_1")] + Down = 1, + + /// + [EnumMember(Value = "Testing_2")] + Testing = 2, + } + + #region InterfaceAdminStatusCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfInterfaceAdminStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "InterfaceAdminStatus")] + public partial class InterfaceAdminStatusCollection : List, ICloneable + { + #region Constructors + /// + public InterfaceAdminStatusCollection() {} + + /// + public InterfaceAdminStatusCollection(int capacity) : base(capacity) {} + + /// + public InterfaceAdminStatusCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator InterfaceAdminStatusCollection(InterfaceAdminStatus[] values) + { + if (values != null) + { + return new InterfaceAdminStatusCollection(values); + } + + return new InterfaceAdminStatusCollection(); + } + + /// + public static explicit operator InterfaceAdminStatus[](InterfaceAdminStatusCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (InterfaceAdminStatusCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + InterfaceAdminStatusCollection clone = new InterfaceAdminStatusCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((InterfaceAdminStatus)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region InterfaceOperStatus Enumeration + #if (!OPCUA_EXCLUDE_InterfaceOperStatus) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum InterfaceOperStatus + { + /// + [EnumMember(Value = "Up_0")] + Up = 0, + + /// + [EnumMember(Value = "Down_1")] + Down = 1, + + /// + [EnumMember(Value = "Testing_2")] + Testing = 2, + + /// + [EnumMember(Value = "Unknown_3")] + Unknown = 3, + + /// + [EnumMember(Value = "Dormant_4")] + Dormant = 4, + + /// + [EnumMember(Value = "NotPresent_5")] + NotPresent = 5, + + /// + [EnumMember(Value = "LowerLayerDown_6")] + LowerLayerDown = 6, + } + + #region InterfaceOperStatusCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfInterfaceOperStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "InterfaceOperStatus")] + public partial class InterfaceOperStatusCollection : List, ICloneable + { + #region Constructors + /// + public InterfaceOperStatusCollection() {} + + /// + public InterfaceOperStatusCollection(int capacity) : base(capacity) {} + + /// + public InterfaceOperStatusCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator InterfaceOperStatusCollection(InterfaceOperStatus[] values) + { + if (values != null) + { + return new InterfaceOperStatusCollection(values); + } + + return new InterfaceOperStatusCollection(); + } + + /// + public static explicit operator InterfaceOperStatus[](InterfaceOperStatusCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (InterfaceOperStatusCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + InterfaceOperStatusCollection clone = new InterfaceOperStatusCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((InterfaceOperStatus)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region NegotiationStatus Enumeration + #if (!OPCUA_EXCLUDE_NegotiationStatus) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum NegotiationStatus + { + /// + [EnumMember(Value = "InProgress_0")] + InProgress = 0, - /// - public new object MemberwiseClone() - { - AliasNameDataType clone = (AliasNameDataType)base.MemberwiseClone(); + /// + [EnumMember(Value = "Complete_1")] + Complete = 1, - clone.m_aliasName = (QualifiedName)Utils.Clone(this.m_aliasName); - clone.m_referencedNodes = (ExpandedNodeIdCollection)Utils.Clone(this.m_referencedNodes); + /// + [EnumMember(Value = "Failed_2")] + Failed = 2, - return clone; - } - #endregion + /// + [EnumMember(Value = "Unknown_3")] + Unknown = 3, - #region Private Fields - private QualifiedName m_aliasName; - private ExpandedNodeIdCollection m_referencedNodes; - #endregion + /// + [EnumMember(Value = "NoNegotiation_4")] + NoNegotiation = 4, } - #region AliasNameDataTypeCollection Class + #region NegotiationStatusCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfAliasNameDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "AliasNameDataType")] - public partial class AliasNameDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfNegotiationStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NegotiationStatus")] + public partial class NegotiationStatusCollection : List, ICloneable { #region Constructors /// - public AliasNameDataTypeCollection() {} + public NegotiationStatusCollection() {} /// - public AliasNameDataTypeCollection(int capacity) : base(capacity) {} + public NegotiationStatusCollection(int capacity) : base(capacity) {} /// - public AliasNameDataTypeCollection(IEnumerable collection) : base(collection) {} + public NegotiationStatusCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator AliasNameDataTypeCollection(AliasNameDataType[] values) + public static implicit operator NegotiationStatusCollection(NegotiationStatus[] values) { if (values != null) { - return new AliasNameDataTypeCollection(values); + return new NegotiationStatusCollection(values); } - return new AliasNameDataTypeCollection(); + return new NegotiationStatusCollection(); } /// - public static explicit operator AliasNameDataType[](AliasNameDataTypeCollection values) + public static explicit operator NegotiationStatus[](NegotiationStatusCollection values) { if (values != null) { @@ -25458,18 +29007,18 @@ public static explicit operator AliasNameDataType[](AliasNameDataTypeCollection /// public object Clone() { - return (AliasNameDataTypeCollection)this.MemberwiseClone(); + return (NegotiationStatusCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - AliasNameDataTypeCollection clone = new AliasNameDataTypeCollection(this.Count); + NegotiationStatusCollection clone = new NegotiationStatusCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((AliasNameDataType)Utils.Clone(this[ii])); + clone.Add((NegotiationStatus)Utils.Clone(this[ii])); } return clone; @@ -25479,87 +29028,151 @@ public object Clone() #endif #endregion - #region PasswordOptionsMask Enumeration - #if (!OPCUA_EXCLUDE_PasswordOptionsMask) + #region TsnFailureCode Enumeration + #if (!OPCUA_EXCLUDE_TsnFailureCode) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum PasswordOptionsMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum TsnFailureCode { /// - [EnumMember(Value = "None_0")] - None = 0, + [EnumMember(Value = "NoFailure_0")] + NoFailure = 0, /// - [EnumMember(Value = "SupportInitialPasswordChange_1")] - SupportInitialPasswordChange = 1, + [EnumMember(Value = "InsufficientBandwidth_1")] + InsufficientBandwidth = 1, /// - [EnumMember(Value = "SupportDisableUser_2")] - SupportDisableUser = 2, + [EnumMember(Value = "InsufficientResources_2")] + InsufficientResources = 2, /// - [EnumMember(Value = "SupportDisableDeleteForUser_4")] - SupportDisableDeleteForUser = 4, + [EnumMember(Value = "InsufficientTrafficClassBandwidth_3")] + InsufficientTrafficClassBandwidth = 3, /// - [EnumMember(Value = "SupportNoChangeForUser_8")] - SupportNoChangeForUser = 8, + [EnumMember(Value = "StreamIdInUse_4")] + StreamIdInUse = 4, /// - [EnumMember(Value = "SupportDescriptionForUser_16")] - SupportDescriptionForUser = 16, + [EnumMember(Value = "StreamDestinationAddressInUse_5")] + StreamDestinationAddressInUse = 5, /// - [EnumMember(Value = "RequiresUpperCaseCharacters_32")] - RequiresUpperCaseCharacters = 32, + [EnumMember(Value = "StreamPreemptedByHigherRank_6")] + StreamPreemptedByHigherRank = 6, /// - [EnumMember(Value = "RequiresLowerCaseCharacters_64")] - RequiresLowerCaseCharacters = 64, + [EnumMember(Value = "LatencyHasChanged_7")] + LatencyHasChanged = 7, /// - [EnumMember(Value = "RequiresDigitCharacters_128")] - RequiresDigitCharacters = 128, + [EnumMember(Value = "EgressPortNotAvbCapable_8")] + EgressPortNotAvbCapable = 8, /// - [EnumMember(Value = "RequiresSpecialCharacters_256")] - RequiresSpecialCharacters = 256, + [EnumMember(Value = "UseDifferentDestinationAddress_9")] + UseDifferentDestinationAddress = 9, + + /// + [EnumMember(Value = "OutOfMsrpResources_10")] + OutOfMsrpResources = 10, + + /// + [EnumMember(Value = "OutOfMmrpResources_11")] + OutOfMmrpResources = 11, + + /// + [EnumMember(Value = "CannotStoreDestinationAddress_12")] + CannotStoreDestinationAddress = 12, + + /// + [EnumMember(Value = "PriorityIsNotAnSrcClass_13")] + PriorityIsNotAnSrcClass = 13, + + /// + [EnumMember(Value = "MaxFrameSizeTooLarge_14")] + MaxFrameSizeTooLarge = 14, + + /// + [EnumMember(Value = "MaxFanInPortsLimitReached_15")] + MaxFanInPortsLimitReached = 15, + + /// + [EnumMember(Value = "FirstValueChangedForStreamId_16")] + FirstValueChangedForStreamId = 16, + + /// + [EnumMember(Value = "VlanBlockedOnEgress_17")] + VlanBlockedOnEgress = 17, + + /// + [EnumMember(Value = "VlanTaggingDisabledOnEgress_18")] + VlanTaggingDisabledOnEgress = 18, + + /// + [EnumMember(Value = "SrClassPriorityMismatch_19")] + SrClassPriorityMismatch = 19, + + /// + [EnumMember(Value = "FeatureNotPropagated_20")] + FeatureNotPropagated = 20, + + /// + [EnumMember(Value = "MaxLatencyExceeded_21")] + MaxLatencyExceeded = 21, + + /// + [EnumMember(Value = "BridgeDoesNotProvideNetworkId_22")] + BridgeDoesNotProvideNetworkId = 22, + + /// + [EnumMember(Value = "StreamTransformNotSupported_23")] + StreamTransformNotSupported = 23, + + /// + [EnumMember(Value = "StreamIdTypeNotSupported_24")] + StreamIdTypeNotSupported = 24, + + /// + [EnumMember(Value = "FeatureNotSupported_25")] + FeatureNotSupported = 25, } - #region PasswordOptionsMaskCollection Class + #region TsnFailureCodeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPasswordOptionsMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PasswordOptionsMask")] - public partial class PasswordOptionsMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTsnFailureCode", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnFailureCode")] + public partial class TsnFailureCodeCollection : List, ICloneable { #region Constructors /// - public PasswordOptionsMaskCollection() {} + public TsnFailureCodeCollection() {} /// - public PasswordOptionsMaskCollection(int capacity) : base(capacity) {} + public TsnFailureCodeCollection(int capacity) : base(capacity) {} /// - public PasswordOptionsMaskCollection(IEnumerable collection) : base(collection) {} + public TsnFailureCodeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PasswordOptionsMaskCollection(PasswordOptionsMask[] values) + public static implicit operator TsnFailureCodeCollection(TsnFailureCode[] values) { if (values != null) { - return new PasswordOptionsMaskCollection(values); + return new TsnFailureCodeCollection(values); } - return new PasswordOptionsMaskCollection(); + return new TsnFailureCodeCollection(); } /// - public static explicit operator PasswordOptionsMask[](PasswordOptionsMaskCollection values) + public static explicit operator TsnFailureCode[](TsnFailureCodeCollection values) { if (values != null) { @@ -25574,18 +29187,18 @@ public static explicit operator PasswordOptionsMask[](PasswordOptionsMaskCollect /// public object Clone() { - return (PasswordOptionsMaskCollection)this.MemberwiseClone(); + return (TsnFailureCodeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PasswordOptionsMaskCollection clone = new PasswordOptionsMaskCollection(this.Count); + TsnFailureCodeCollection clone = new TsnFailureCodeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PasswordOptionsMask)Utils.Clone(this[ii])); + clone.Add((TsnFailureCode)Utils.Clone(this[ii])); } return clone; @@ -25595,67 +29208,67 @@ public object Clone() #endif #endregion - #region UserConfigurationMask Enumeration - #if (!OPCUA_EXCLUDE_UserConfigurationMask) + #region TsnStreamState Enumeration + #if (!OPCUA_EXCLUDE_TsnStreamState) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum UserConfigurationMask : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public enum TsnStreamState { /// - [EnumMember(Value = "None_0")] - None = 0, + [EnumMember(Value = "Disabled_0")] + Disabled = 0, /// - [EnumMember(Value = "NoDelete_1")] - NoDelete = 1, + [EnumMember(Value = "Configuring_1")] + Configuring = 1, /// - [EnumMember(Value = "Disabled_2")] - Disabled = 2, + [EnumMember(Value = "Ready_2")] + Ready = 2, /// - [EnumMember(Value = "NoChangeByUser_4")] - NoChangeByUser = 4, + [EnumMember(Value = "Operational_3")] + Operational = 3, /// - [EnumMember(Value = "MustChangePassword_8")] - MustChangePassword = 8, + [EnumMember(Value = "Error_4")] + Error = 4, } - #region UserConfigurationMaskCollection Class + #region TsnStreamStateCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUserConfigurationMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UserConfigurationMask")] - public partial class UserConfigurationMaskCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTsnStreamState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnStreamState")] + public partial class TsnStreamStateCollection : List, ICloneable { #region Constructors /// - public UserConfigurationMaskCollection() {} + public TsnStreamStateCollection() {} /// - public UserConfigurationMaskCollection(int capacity) : base(capacity) {} + public TsnStreamStateCollection(int capacity) : base(capacity) {} /// - public UserConfigurationMaskCollection(IEnumerable collection) : base(collection) {} + public TsnStreamStateCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UserConfigurationMaskCollection(UserConfigurationMask[] values) + public static implicit operator TsnStreamStateCollection(TsnStreamState[] values) { if (values != null) { - return new UserConfigurationMaskCollection(values); + return new TsnStreamStateCollection(values); } - return new UserConfigurationMaskCollection(); + return new TsnStreamStateCollection(); } /// - public static explicit operator UserConfigurationMask[](UserConfigurationMaskCollection values) + public static explicit operator TsnStreamState[](TsnStreamStateCollection values) { if (values != null) { @@ -25670,18 +29283,18 @@ public static explicit operator UserConfigurationMask[](UserConfigurationMaskCol /// public object Clone() { - return (UserConfigurationMaskCollection)this.MemberwiseClone(); + return (TsnStreamStateCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UserConfigurationMaskCollection clone = new UserConfigurationMaskCollection(this.Count); + TsnStreamStateCollection clone = new TsnStreamStateCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UserConfigurationMask)Utils.Clone(this[ii])); + clone.Add((TsnStreamState)Utils.Clone(this[ii])); } return clone; @@ -25691,178 +29304,59 @@ public object Clone() #endif #endregion - #region UserManagementDataType Class - #if (!OPCUA_EXCLUDE_UserManagementDataType) + #region TsnTalkerStatus Enumeration + #if (!OPCUA_EXCLUDE_TsnTalkerStatus) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class UserManagementDataType : IEncodeable, IJsonEncodeable + public enum TsnTalkerStatus { - #region Constructors - /// - public UserManagementDataType() - { - Initialize(); - } - - [OnDeserializing] - private void Initialize(StreamingContext context) - { - Initialize(); - } - - private void Initialize() - { - m_userName = null; - m_userConfiguration = 0; - m_description = null; - } - #endregion - - #region Public Properties /// - [DataMember(Name = "UserName", IsRequired = false, Order = 1)] - public string UserName - { - get { return m_userName; } - set { m_userName = value; } - } + [EnumMember(Value = "None_0")] + None = 0, /// - [DataMember(Name = "UserConfiguration", IsRequired = false, Order = 2)] - public uint UserConfiguration - { - get { return m_userConfiguration; } - set { m_userConfiguration = value; } - } + [EnumMember(Value = "Ready_1")] + Ready = 1, /// - [DataMember(Name = "Description", IsRequired = false, Order = 3)] - public string Description - { - get { return m_description; } - set { m_description = value; } - } - #endregion - - #region IEncodeable Members - /// - public virtual ExpandedNodeId TypeId => DataTypeIds.UserManagementDataType; - - /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultBinary; - - /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultXml; - - /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.UserManagementDataType_Encoding_DefaultJson; - - /// - public virtual void Encode(IEncoder encoder) - { - encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - encoder.WriteString("UserName", UserName); - encoder.WriteUInt32("UserConfiguration", UserConfiguration); - encoder.WriteString("Description", Description); - - encoder.PopNamespace(); - } - - /// - public virtual void Decode(IDecoder decoder) - { - decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - - UserName = decoder.ReadString("UserName"); - UserConfiguration = decoder.ReadUInt32("UserConfiguration"); - Description = decoder.ReadString("Description"); - - decoder.PopNamespace(); - } - - /// - public virtual bool IsEqual(IEncodeable encodeable) - { - if (Object.ReferenceEquals(this, encodeable)) - { - return true; - } - - UserManagementDataType value = encodeable as UserManagementDataType; - - if (value == null) - { - return false; - } - - if (!Utils.IsEqual(m_userName, value.m_userName)) return false; - if (!Utils.IsEqual(m_userConfiguration, value.m_userConfiguration)) return false; - if (!Utils.IsEqual(m_description, value.m_description)) return false; - - return true; - } - - /// - public virtual object Clone() - { - return (UserManagementDataType)this.MemberwiseClone(); - } - - /// - public new object MemberwiseClone() - { - UserManagementDataType clone = (UserManagementDataType)base.MemberwiseClone(); - - clone.m_userName = (string)Utils.Clone(this.m_userName); - clone.m_userConfiguration = (uint)Utils.Clone(this.m_userConfiguration); - clone.m_description = (string)Utils.Clone(this.m_description); - - return clone; - } - #endregion - - #region Private Fields - private string m_userName; - private uint m_userConfiguration; - private string m_description; - #endregion + [EnumMember(Value = "Failed_2")] + Failed = 2, } - #region UserManagementDataTypeCollection Class + #region TsnTalkerStatusCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfUserManagementDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "UserManagementDataType")] - public partial class UserManagementDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTsnTalkerStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnTalkerStatus")] + public partial class TsnTalkerStatusCollection : List, ICloneable { #region Constructors /// - public UserManagementDataTypeCollection() {} + public TsnTalkerStatusCollection() {} /// - public UserManagementDataTypeCollection(int capacity) : base(capacity) {} + public TsnTalkerStatusCollection(int capacity) : base(capacity) {} /// - public UserManagementDataTypeCollection(IEnumerable collection) : base(collection) {} + public TsnTalkerStatusCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator UserManagementDataTypeCollection(UserManagementDataType[] values) + public static implicit operator TsnTalkerStatusCollection(TsnTalkerStatus[] values) { if (values != null) { - return new UserManagementDataTypeCollection(values); + return new TsnTalkerStatusCollection(values); } - return new UserManagementDataTypeCollection(); + return new TsnTalkerStatusCollection(); } /// - public static explicit operator UserManagementDataType[](UserManagementDataTypeCollection values) + public static explicit operator TsnTalkerStatus[](TsnTalkerStatusCollection values) { if (values != null) { @@ -25877,18 +29371,18 @@ public static explicit operator UserManagementDataType[](UserManagementDataTypeC /// public object Clone() { - return (UserManagementDataTypeCollection)this.MemberwiseClone(); + return (TsnTalkerStatusCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - UserManagementDataTypeCollection clone = new UserManagementDataTypeCollection(this.Count); + TsnTalkerStatusCollection clone = new TsnTalkerStatusCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((UserManagementDataType)Utils.Clone(this[ii])); + clone.Add((TsnTalkerStatus)Utils.Clone(this[ii])); } return clone; @@ -25898,59 +29392,63 @@ public object Clone() #endif #endregion - #region Duplex Enumeration - #if (!OPCUA_EXCLUDE_Duplex) + #region TsnListenerStatus Enumeration + #if (!OPCUA_EXCLUDE_TsnListenerStatus) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum Duplex + public enum TsnListenerStatus { /// - [EnumMember(Value = "Full_0")] - Full = 0, + [EnumMember(Value = "None_0")] + None = 0, /// - [EnumMember(Value = "Half_1")] - Half = 1, + [EnumMember(Value = "Ready_1")] + Ready = 1, /// - [EnumMember(Value = "Unknown_2")] - Unknown = 2, + [EnumMember(Value = "PartialFailed_2")] + PartialFailed = 2, + + /// + [EnumMember(Value = "Failed_3")] + Failed = 3, } - #region DuplexCollection Class + #region TsnListenerStatusCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfDuplex", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "Duplex")] - public partial class DuplexCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTsnListenerStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnListenerStatus")] + public partial class TsnListenerStatusCollection : List, ICloneable { #region Constructors /// - public DuplexCollection() {} + public TsnListenerStatusCollection() {} /// - public DuplexCollection(int capacity) : base(capacity) {} + public TsnListenerStatusCollection(int capacity) : base(capacity) {} /// - public DuplexCollection(IEnumerable collection) : base(collection) {} + public TsnListenerStatusCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator DuplexCollection(Duplex[] values) + public static implicit operator TsnListenerStatusCollection(TsnListenerStatus[] values) { if (values != null) { - return new DuplexCollection(values); + return new TsnListenerStatusCollection(values); } - return new DuplexCollection(); + return new TsnListenerStatusCollection(); } /// - public static explicit operator Duplex[](DuplexCollection values) + public static explicit operator TsnListenerStatus[](TsnListenerStatusCollection values) { if (values != null) { @@ -25965,18 +29463,18 @@ public static explicit operator Duplex[](DuplexCollection values) /// public object Clone() { - return (DuplexCollection)this.MemberwiseClone(); + return (TsnListenerStatusCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - DuplexCollection clone = new DuplexCollection(this.Count); + TsnListenerStatusCollection clone = new TsnListenerStatusCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((Duplex)Utils.Clone(this[ii])); + clone.Add((TsnListenerStatus)Utils.Clone(this[ii])); } return clone; @@ -25986,59 +29484,75 @@ public object Clone() #endif #endregion - #region InterfaceAdminStatus Enumeration - #if (!OPCUA_EXCLUDE_InterfaceAdminStatus) + #region ChassisIdSubtype Enumeration + #if (!OPCUA_EXCLUDE_ChassisIdSubtype) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum InterfaceAdminStatus + public enum ChassisIdSubtype { /// - [EnumMember(Value = "Up_0")] - Up = 0, + [EnumMember(Value = "ChassisComponent_1")] + ChassisComponent = 1, /// - [EnumMember(Value = "Down_1")] - Down = 1, + [EnumMember(Value = "InterfaceAlias_2")] + InterfaceAlias = 2, /// - [EnumMember(Value = "Testing_2")] - Testing = 2, + [EnumMember(Value = "PortComponent_3")] + PortComponent = 3, + + /// + [EnumMember(Value = "MacAddress_4")] + MacAddress = 4, + + /// + [EnumMember(Value = "NetworkAddress_5")] + NetworkAddress = 5, + + /// + [EnumMember(Value = "InterfaceName_6")] + InterfaceName = 6, + + /// + [EnumMember(Value = "Local_7")] + Local = 7, } - #region InterfaceAdminStatusCollection Class + #region ChassisIdSubtypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfInterfaceAdminStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "InterfaceAdminStatus")] - public partial class InterfaceAdminStatusCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfChassisIdSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ChassisIdSubtype")] + public partial class ChassisIdSubtypeCollection : List, ICloneable { #region Constructors /// - public InterfaceAdminStatusCollection() {} + public ChassisIdSubtypeCollection() {} /// - public InterfaceAdminStatusCollection(int capacity) : base(capacity) {} + public ChassisIdSubtypeCollection(int capacity) : base(capacity) {} /// - public InterfaceAdminStatusCollection(IEnumerable collection) : base(collection) {} + public ChassisIdSubtypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator InterfaceAdminStatusCollection(InterfaceAdminStatus[] values) + public static implicit operator ChassisIdSubtypeCollection(ChassisIdSubtype[] values) { if (values != null) { - return new InterfaceAdminStatusCollection(values); + return new ChassisIdSubtypeCollection(values); } - return new InterfaceAdminStatusCollection(); + return new ChassisIdSubtypeCollection(); } /// - public static explicit operator InterfaceAdminStatus[](InterfaceAdminStatusCollection values) + public static explicit operator ChassisIdSubtype[](ChassisIdSubtypeCollection values) { if (values != null) { @@ -26053,18 +29567,18 @@ public static explicit operator InterfaceAdminStatus[](InterfaceAdminStatusColle /// public object Clone() { - return (InterfaceAdminStatusCollection)this.MemberwiseClone(); + return (ChassisIdSubtypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - InterfaceAdminStatusCollection clone = new InterfaceAdminStatusCollection(this.Count); + ChassisIdSubtypeCollection clone = new ChassisIdSubtypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((InterfaceAdminStatus)Utils.Clone(this[ii])); + clone.Add((ChassisIdSubtype)Utils.Clone(this[ii])); } return clone; @@ -26074,75 +29588,75 @@ public object Clone() #endif #endregion - #region InterfaceOperStatus Enumeration - #if (!OPCUA_EXCLUDE_InterfaceOperStatus) + #region PortIdSubtype Enumeration + #if (!OPCUA_EXCLUDE_PortIdSubtype) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum InterfaceOperStatus + public enum PortIdSubtype { /// - [EnumMember(Value = "Up_0")] - Up = 0, + [EnumMember(Value = "InterfaceAlias_1")] + InterfaceAlias = 1, /// - [EnumMember(Value = "Down_1")] - Down = 1, + [EnumMember(Value = "PortComponent_2")] + PortComponent = 2, /// - [EnumMember(Value = "Testing_2")] - Testing = 2, + [EnumMember(Value = "MacAddress_3")] + MacAddress = 3, /// - [EnumMember(Value = "Unknown_3")] - Unknown = 3, + [EnumMember(Value = "NetworkAddress_4")] + NetworkAddress = 4, /// - [EnumMember(Value = "Dormant_4")] - Dormant = 4, + [EnumMember(Value = "InterfaceName_5")] + InterfaceName = 5, /// - [EnumMember(Value = "NotPresent_5")] - NotPresent = 5, + [EnumMember(Value = "AgentCircuitId_6")] + AgentCircuitId = 6, /// - [EnumMember(Value = "LowerLayerDown_6")] - LowerLayerDown = 6, + [EnumMember(Value = "Local_7")] + Local = 7, } - #region InterfaceOperStatusCollection Class + #region PortIdSubtypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfInterfaceOperStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "InterfaceOperStatus")] - public partial class InterfaceOperStatusCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPortIdSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortIdSubtype")] + public partial class PortIdSubtypeCollection : List, ICloneable { #region Constructors /// - public InterfaceOperStatusCollection() {} + public PortIdSubtypeCollection() {} /// - public InterfaceOperStatusCollection(int capacity) : base(capacity) {} + public PortIdSubtypeCollection(int capacity) : base(capacity) {} /// - public InterfaceOperStatusCollection(IEnumerable collection) : base(collection) {} + public PortIdSubtypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator InterfaceOperStatusCollection(InterfaceOperStatus[] values) + public static implicit operator PortIdSubtypeCollection(PortIdSubtype[] values) { if (values != null) { - return new InterfaceOperStatusCollection(values); + return new PortIdSubtypeCollection(values); } - return new InterfaceOperStatusCollection(); + return new PortIdSubtypeCollection(); } /// - public static explicit operator InterfaceOperStatus[](InterfaceOperStatusCollection values) + public static explicit operator PortIdSubtype[](PortIdSubtypeCollection values) { if (values != null) { @@ -26157,18 +29671,18 @@ public static explicit operator InterfaceOperStatus[](InterfaceOperStatusCollect /// public object Clone() { - return (InterfaceOperStatusCollection)this.MemberwiseClone(); + return (PortIdSubtypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - InterfaceOperStatusCollection clone = new InterfaceOperStatusCollection(this.Count); + PortIdSubtypeCollection clone = new PortIdSubtypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((InterfaceOperStatus)Utils.Clone(this[ii])); + clone.Add((PortIdSubtype)Utils.Clone(this[ii])); } return clone; @@ -26178,67 +29692,63 @@ public object Clone() #endif #endregion - #region NegotiationStatus Enumeration - #if (!OPCUA_EXCLUDE_NegotiationStatus) + #region ManAddrIfSubtype Enumeration + #if (!OPCUA_EXCLUDE_ManAddrIfSubtype) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum NegotiationStatus + public enum ManAddrIfSubtype { /// - [EnumMember(Value = "InProgress_0")] - InProgress = 0, - - /// - [EnumMember(Value = "Complete_1")] - Complete = 1, + [EnumMember(Value = "None_0")] + None = 0, /// - [EnumMember(Value = "Failed_2")] - Failed = 2, + [EnumMember(Value = "Unknown_1")] + Unknown = 1, /// - [EnumMember(Value = "Unknown_3")] - Unknown = 3, + [EnumMember(Value = "PortRef_2")] + PortRef = 2, /// - [EnumMember(Value = "NoNegotiation_4")] - NoNegotiation = 4, + [EnumMember(Value = "SystemPortNumber_3")] + SystemPortNumber = 3, } - #region NegotiationStatusCollection Class + #region ManAddrIfSubtypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfNegotiationStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NegotiationStatus")] - public partial class NegotiationStatusCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfManAddrIfSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ManAddrIfSubtype")] + public partial class ManAddrIfSubtypeCollection : List, ICloneable { #region Constructors /// - public NegotiationStatusCollection() {} + public ManAddrIfSubtypeCollection() {} /// - public NegotiationStatusCollection(int capacity) : base(capacity) {} + public ManAddrIfSubtypeCollection(int capacity) : base(capacity) {} /// - public NegotiationStatusCollection(IEnumerable collection) : base(collection) {} + public ManAddrIfSubtypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator NegotiationStatusCollection(NegotiationStatus[] values) + public static implicit operator ManAddrIfSubtypeCollection(ManAddrIfSubtype[] values) { if (values != null) { - return new NegotiationStatusCollection(values); + return new ManAddrIfSubtypeCollection(values); } - return new NegotiationStatusCollection(); + return new ManAddrIfSubtypeCollection(); } /// - public static explicit operator NegotiationStatus[](NegotiationStatusCollection values) + public static explicit operator ManAddrIfSubtype[](ManAddrIfSubtypeCollection values) { if (values != null) { @@ -26253,18 +29763,18 @@ public static explicit operator NegotiationStatus[](NegotiationStatusCollection /// public object Clone() { - return (NegotiationStatusCollection)this.MemberwiseClone(); + return (ManAddrIfSubtypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - NegotiationStatusCollection clone = new NegotiationStatusCollection(this.Count); + ManAddrIfSubtypeCollection clone = new ManAddrIfSubtypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((NegotiationStatus)Utils.Clone(this[ii])); + clone.Add((ManAddrIfSubtype)Utils.Clone(this[ii])); } return clone; @@ -26274,151 +29784,192 @@ public object Clone() #endif #endregion - #region TsnFailureCode Enumeration - #if (!OPCUA_EXCLUDE_TsnFailureCode) + #region PriorityMappingEntryType Class + #if (!OPCUA_EXCLUDE_PriorityMappingEntryType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum TsnFailureCode + public partial class PriorityMappingEntryType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "NoFailure_0")] - NoFailure = 0, - - /// - [EnumMember(Value = "InsufficientBandwidth_1")] - InsufficientBandwidth = 1, - - /// - [EnumMember(Value = "InsufficientResources_2")] - InsufficientResources = 2, + public PriorityMappingEntryType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_mappingUri = null; + m_priorityLabel = null; + m_priorityValue_PCP = (byte)0; + m_priorityValue_DSCP = (uint)0; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "InsufficientTrafficClassBandwidth_3")] - InsufficientTrafficClassBandwidth = 3, + [DataMember(Name = "MappingUri", IsRequired = false, Order = 1)] + public string MappingUri + { + get { return m_mappingUri; } + set { m_mappingUri = value; } + } /// - [EnumMember(Value = "StreamIdInUse_4")] - StreamIdInUse = 4, + [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 2)] + public string PriorityLabel + { + get { return m_priorityLabel; } + set { m_priorityLabel = value; } + } /// - [EnumMember(Value = "StreamDestinationAddressInUse_5")] - StreamDestinationAddressInUse = 5, + [DataMember(Name = "PriorityValue_PCP", IsRequired = false, Order = 3)] + public byte PriorityValue_PCP + { + get { return m_priorityValue_PCP; } + set { m_priorityValue_PCP = value; } + } /// - [EnumMember(Value = "StreamPreemptedByHigherRank_6")] - StreamPreemptedByHigherRank = 6, + [DataMember(Name = "PriorityValue_DSCP", IsRequired = false, Order = 4)] + public uint PriorityValue_DSCP + { + get { return m_priorityValue_DSCP; } + set { m_priorityValue_DSCP = value; } + } + #endregion - /// - [EnumMember(Value = "LatencyHasChanged_7")] - LatencyHasChanged = 7, + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.PriorityMappingEntryType; - /// - [EnumMember(Value = "EgressPortNotAvbCapable_8")] - EgressPortNotAvbCapable = 8, + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultBinary; - /// - [EnumMember(Value = "UseDifferentDestinationAddress_9")] - UseDifferentDestinationAddress = 9, + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultJson; - /// - [EnumMember(Value = "OutOfMsrpResources_10")] - OutOfMsrpResources = 10, + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - /// - [EnumMember(Value = "OutOfMmrpResources_11")] - OutOfMmrpResources = 11, + encoder.WriteString("MappingUri", MappingUri); + encoder.WriteString("PriorityLabel", PriorityLabel); + encoder.WriteByte("PriorityValue_PCP", PriorityValue_PCP); + encoder.WriteUInt32("PriorityValue_DSCP", PriorityValue_DSCP); - /// - [EnumMember(Value = "CannotStoreDestinationAddress_12")] - CannotStoreDestinationAddress = 12, + encoder.PopNamespace(); + } - /// - [EnumMember(Value = "PriorityIsNotAnSrcClass_13")] - PriorityIsNotAnSrcClass = 13, + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - /// - [EnumMember(Value = "MaxFrameSizeTooLarge_14")] - MaxFrameSizeTooLarge = 14, + MappingUri = decoder.ReadString("MappingUri"); + PriorityLabel = decoder.ReadString("PriorityLabel"); + PriorityValue_PCP = decoder.ReadByte("PriorityValue_PCP"); + PriorityValue_DSCP = decoder.ReadUInt32("PriorityValue_DSCP"); - /// - [EnumMember(Value = "MaxFanInPortsLimitReached_15")] - MaxFanInPortsLimitReached = 15, + decoder.PopNamespace(); + } - /// - [EnumMember(Value = "FirstValueChangedForStreamId_16")] - FirstValueChangedForStreamId = 16, + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } - /// - [EnumMember(Value = "VlanBlockedOnEgress_17")] - VlanBlockedOnEgress = 17, + PriorityMappingEntryType value = encodeable as PriorityMappingEntryType; - /// - [EnumMember(Value = "VlanTaggingDisabledOnEgress_18")] - VlanTaggingDisabledOnEgress = 18, + if (value == null) + { + return false; + } - /// - [EnumMember(Value = "SrClassPriorityMismatch_19")] - SrClassPriorityMismatch = 19, + if (!Utils.IsEqual(m_mappingUri, value.m_mappingUri)) return false; + if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; + if (!Utils.IsEqual(m_priorityValue_PCP, value.m_priorityValue_PCP)) return false; + if (!Utils.IsEqual(m_priorityValue_DSCP, value.m_priorityValue_DSCP)) return false; - /// - [EnumMember(Value = "FeatureNotPropagated_20")] - FeatureNotPropagated = 20, + return true; + } - /// - [EnumMember(Value = "MaxLatencyExceeded_21")] - MaxLatencyExceeded = 21, + /// + public virtual object Clone() + { + return (PriorityMappingEntryType)this.MemberwiseClone(); + } - /// - [EnumMember(Value = "BridgeDoesNotProvideNetworkId_22")] - BridgeDoesNotProvideNetworkId = 22, + /// + public new object MemberwiseClone() + { + PriorityMappingEntryType clone = (PriorityMappingEntryType)base.MemberwiseClone(); - /// - [EnumMember(Value = "StreamTransformNotSupported_23")] - StreamTransformNotSupported = 23, + clone.m_mappingUri = (string)Utils.Clone(this.m_mappingUri); + clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); + clone.m_priorityValue_PCP = (byte)Utils.Clone(this.m_priorityValue_PCP); + clone.m_priorityValue_DSCP = (uint)Utils.Clone(this.m_priorityValue_DSCP); - /// - [EnumMember(Value = "StreamIdTypeNotSupported_24")] - StreamIdTypeNotSupported = 24, + return clone; + } + #endregion - /// - [EnumMember(Value = "FeatureNotSupported_25")] - FeatureNotSupported = 25, + #region Private Fields + private string m_mappingUri; + private string m_priorityLabel; + private byte m_priorityValue_PCP; + private uint m_priorityValue_DSCP; + #endregion } - #region TsnFailureCodeCollection Class + #region PriorityMappingEntryTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTsnFailureCode", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnFailureCode")] - public partial class TsnFailureCodeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfPriorityMappingEntryType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PriorityMappingEntryType")] + public partial class PriorityMappingEntryTypeCollection : List, ICloneable { #region Constructors /// - public TsnFailureCodeCollection() {} + public PriorityMappingEntryTypeCollection() {} /// - public TsnFailureCodeCollection(int capacity) : base(capacity) {} + public PriorityMappingEntryTypeCollection(int capacity) : base(capacity) {} /// - public TsnFailureCodeCollection(IEnumerable collection) : base(collection) {} + public PriorityMappingEntryTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TsnFailureCodeCollection(TsnFailureCode[] values) + public static implicit operator PriorityMappingEntryTypeCollection(PriorityMappingEntryType[] values) { if (values != null) { - return new TsnFailureCodeCollection(values); + return new PriorityMappingEntryTypeCollection(values); } - return new TsnFailureCodeCollection(); + return new PriorityMappingEntryTypeCollection(); } /// - public static explicit operator TsnFailureCode[](TsnFailureCodeCollection values) + public static explicit operator PriorityMappingEntryType[](PriorityMappingEntryTypeCollection values) { if (values != null) { @@ -26433,88 +29984,241 @@ public static explicit operator TsnFailureCode[](TsnFailureCodeCollection values /// public object Clone() { - return (TsnFailureCodeCollection)this.MemberwiseClone(); + return (PriorityMappingEntryTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + PriorityMappingEntryTypeCollection clone = new PriorityMappingEntryTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((PriorityMappingEntryType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region LldpManagementAddressTxPortType Class + #if (!OPCUA_EXCLUDE_LldpManagementAddressTxPortType) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class LldpManagementAddressTxPortType : IEncodeable, IJsonEncodeable + { + #region Constructors + /// + public LldpManagementAddressTxPortType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_addressSubtype = (uint)0; + m_manAddress = null; + m_txEnable = true; + m_addrLen = (uint)0; + m_ifSubtype = ManAddrIfSubtype.None; + m_ifId = (uint)0; + } + #endregion + + #region Public Properties + /// + [DataMember(Name = "AddressSubtype", IsRequired = false, Order = 1)] + public uint AddressSubtype + { + get { return m_addressSubtype; } + set { m_addressSubtype = value; } + } + + /// + [DataMember(Name = "ManAddress", IsRequired = false, Order = 2)] + public string ManAddress + { + get { return m_manAddress; } + set { m_manAddress = value; } + } + + /// + [DataMember(Name = "TxEnable", IsRequired = false, Order = 3)] + public bool TxEnable + { + get { return m_txEnable; } + set { m_txEnable = value; } + } + + /// + [DataMember(Name = "AddrLen", IsRequired = false, Order = 4)] + public uint AddrLen + { + get { return m_addrLen; } + set { m_addrLen = value; } + } + + /// + [DataMember(Name = "IfSubtype", IsRequired = false, Order = 5)] + public ManAddrIfSubtype IfSubtype + { + get { return m_ifSubtype; } + set { m_ifSubtype = value; } + } + + /// + [DataMember(Name = "IfId", IsRequired = false, Order = 6)] + public uint IfId + { + get { return m_ifId; } + set { m_ifId = value; } + } + #endregion + + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.LldpManagementAddressTxPortType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + encoder.WriteUInt32("AddressSubtype", AddressSubtype); + encoder.WriteString("ManAddress", ManAddress); + encoder.WriteBoolean("TxEnable", TxEnable); + encoder.WriteUInt32("AddrLen", AddrLen); + encoder.WriteEnumerated("IfSubtype", IfSubtype); + encoder.WriteUInt32("IfId", IfId); + + encoder.PopNamespace(); + } + + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + AddressSubtype = decoder.ReadUInt32("AddressSubtype"); + ManAddress = decoder.ReadString("ManAddress"); + TxEnable = decoder.ReadBoolean("TxEnable"); + AddrLen = decoder.ReadUInt32("AddrLen"); + IfSubtype = (ManAddrIfSubtype)decoder.ReadEnumerated("IfSubtype", typeof(ManAddrIfSubtype)); + IfId = decoder.ReadUInt32("IfId"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + LldpManagementAddressTxPortType value = encodeable as LldpManagementAddressTxPortType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_addressSubtype, value.m_addressSubtype)) return false; + if (!Utils.IsEqual(m_manAddress, value.m_manAddress)) return false; + if (!Utils.IsEqual(m_txEnable, value.m_txEnable)) return false; + if (!Utils.IsEqual(m_addrLen, value.m_addrLen)) return false; + if (!Utils.IsEqual(m_ifSubtype, value.m_ifSubtype)) return false; + if (!Utils.IsEqual(m_ifId, value.m_ifId)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (LldpManagementAddressTxPortType)this.MemberwiseClone(); } - #endregion /// public new object MemberwiseClone() { - TsnFailureCodeCollection clone = new TsnFailureCodeCollection(this.Count); + LldpManagementAddressTxPortType clone = (LldpManagementAddressTxPortType)base.MemberwiseClone(); - for (int ii = 0; ii < this.Count; ii++) - { - clone.Add((TsnFailureCode)Utils.Clone(this[ii])); - } + clone.m_addressSubtype = (uint)Utils.Clone(this.m_addressSubtype); + clone.m_manAddress = (string)Utils.Clone(this.m_manAddress); + clone.m_txEnable = (bool)Utils.Clone(this.m_txEnable); + clone.m_addrLen = (uint)Utils.Clone(this.m_addrLen); + clone.m_ifSubtype = (ManAddrIfSubtype)Utils.Clone(this.m_ifSubtype); + clone.m_ifId = (uint)Utils.Clone(this.m_ifId); return clone; } - } - #endregion - #endif - #endregion - - #region TsnStreamState Enumeration - #if (!OPCUA_EXCLUDE_TsnStreamState) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum TsnStreamState - { - /// - [EnumMember(Value = "Disabled_0")] - Disabled = 0, - - /// - [EnumMember(Value = "Configuring_1")] - Configuring = 1, - - /// - [EnumMember(Value = "Ready_2")] - Ready = 2, - - /// - [EnumMember(Value = "Operational_3")] - Operational = 3, + #endregion - /// - [EnumMember(Value = "Error_4")] - Error = 4, + #region Private Fields + private uint m_addressSubtype; + private string m_manAddress; + private bool m_txEnable; + private uint m_addrLen; + private ManAddrIfSubtype m_ifSubtype; + private uint m_ifId; + #endregion } - #region TsnStreamStateCollection Class + #region LldpManagementAddressTxPortTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTsnStreamState", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnStreamState")] - public partial class TsnStreamStateCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLldpManagementAddressTxPortType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpManagementAddressTxPortType")] + public partial class LldpManagementAddressTxPortTypeCollection : List, ICloneable { #region Constructors /// - public TsnStreamStateCollection() {} + public LldpManagementAddressTxPortTypeCollection() {} /// - public TsnStreamStateCollection(int capacity) : base(capacity) {} + public LldpManagementAddressTxPortTypeCollection(int capacity) : base(capacity) {} /// - public TsnStreamStateCollection(IEnumerable collection) : base(collection) {} + public LldpManagementAddressTxPortTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TsnStreamStateCollection(TsnStreamState[] values) + public static implicit operator LldpManagementAddressTxPortTypeCollection(LldpManagementAddressTxPortType[] values) { if (values != null) { - return new TsnStreamStateCollection(values); + return new LldpManagementAddressTxPortTypeCollection(values); } - return new TsnStreamStateCollection(); + return new LldpManagementAddressTxPortTypeCollection(); } /// - public static explicit operator TsnStreamState[](TsnStreamStateCollection values) + public static explicit operator LldpManagementAddressTxPortType[](LldpManagementAddressTxPortTypeCollection values) { if (values != null) { @@ -26529,18 +30233,18 @@ public static explicit operator TsnStreamState[](TsnStreamStateCollection values /// public object Clone() { - return (TsnStreamStateCollection)this.MemberwiseClone(); + return (LldpManagementAddressTxPortTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TsnStreamStateCollection clone = new TsnStreamStateCollection(this.Count); + LldpManagementAddressTxPortTypeCollection clone = new LldpManagementAddressTxPortTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TsnStreamState)Utils.Clone(this[ii])); + clone.Add((LldpManagementAddressTxPortType)Utils.Clone(this[ii])); } return clone; @@ -26550,151 +30254,192 @@ public object Clone() #endif #endregion - #region TsnTalkerStatus Enumeration - #if (!OPCUA_EXCLUDE_TsnTalkerStatus) + #region LldpManagementAddressType Class + #if (!OPCUA_EXCLUDE_LldpManagementAddressType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum TsnTalkerStatus + public partial class LldpManagementAddressType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "Ready_1")] - Ready = 1, + public LldpManagementAddressType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_addressSubtype = (uint)0; + m_address = null; + m_ifSubtype = ManAddrIfSubtype.None; + m_ifId = (uint)0; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "Failed_2")] - Failed = 2, - } + [DataMember(Name = "AddressSubtype", IsRequired = false, Order = 1)] + public uint AddressSubtype + { + get { return m_addressSubtype; } + set { m_addressSubtype = value; } + } - #region TsnTalkerStatusCollection Class - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTsnTalkerStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnTalkerStatus")] - public partial class TsnTalkerStatusCollection : List, ICloneable - { - #region Constructors /// - public TsnTalkerStatusCollection() {} + [DataMember(Name = "Address", IsRequired = false, Order = 2)] + public string Address + { + get { return m_address; } + set { m_address = value; } + } /// - public TsnTalkerStatusCollection(int capacity) : base(capacity) {} + [DataMember(Name = "IfSubtype", IsRequired = false, Order = 3)] + public ManAddrIfSubtype IfSubtype + { + get { return m_ifSubtype; } + set { m_ifSubtype = value; } + } /// - public TsnTalkerStatusCollection(IEnumerable collection) : base(collection) {} + [DataMember(Name = "IfId", IsRequired = false, Order = 4)] + public uint IfId + { + get { return m_ifId; } + set { m_ifId = value; } + } #endregion - #region Static Operators - /// - public static implicit operator TsnTalkerStatusCollection(TsnTalkerStatus[] values) + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.LldpManagementAddressType; + + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultBinary; + + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultJson; + + /// + public virtual void Encode(IEncoder encoder) { - if (values != null) - { - return new TsnTalkerStatusCollection(values); - } + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - return new TsnTalkerStatusCollection(); + encoder.WriteUInt32("AddressSubtype", AddressSubtype); + encoder.WriteString("Address", Address); + encoder.WriteEnumerated("IfSubtype", IfSubtype); + encoder.WriteUInt32("IfId", IfId); + + encoder.PopNamespace(); } - /// - public static explicit operator TsnTalkerStatus[](TsnTalkerStatusCollection values) + /// + public virtual void Decode(IDecoder decoder) { - if (values != null) + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + + AddressSubtype = decoder.ReadUInt32("AddressSubtype"); + Address = decoder.ReadString("Address"); + IfSubtype = (ManAddrIfSubtype)decoder.ReadEnumerated("IfSubtype", typeof(ManAddrIfSubtype)); + IfId = decoder.ReadUInt32("IfId"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) { - return values.ToArray(); + return true; } - return null; + LldpManagementAddressType value = encodeable as LldpManagementAddressType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_addressSubtype, value.m_addressSubtype)) return false; + if (!Utils.IsEqual(m_address, value.m_address)) return false; + if (!Utils.IsEqual(m_ifSubtype, value.m_ifSubtype)) return false; + if (!Utils.IsEqual(m_ifId, value.m_ifId)) return false; + + return true; } - #endregion - #region ICloneable Methods - /// - public object Clone() + /// + public virtual object Clone() { - return (TsnTalkerStatusCollection)this.MemberwiseClone(); + return (LldpManagementAddressType)this.MemberwiseClone(); } - #endregion /// public new object MemberwiseClone() { - TsnTalkerStatusCollection clone = new TsnTalkerStatusCollection(this.Count); + LldpManagementAddressType clone = (LldpManagementAddressType)base.MemberwiseClone(); - for (int ii = 0; ii < this.Count; ii++) - { - clone.Add((TsnTalkerStatus)Utils.Clone(this[ii])); - } + clone.m_addressSubtype = (uint)Utils.Clone(this.m_addressSubtype); + clone.m_address = (string)Utils.Clone(this.m_address); + clone.m_ifSubtype = (ManAddrIfSubtype)Utils.Clone(this.m_ifSubtype); + clone.m_ifId = (uint)Utils.Clone(this.m_ifId); return clone; } - } - #endregion - #endif - #endregion - - #region TsnListenerStatus Enumeration - #if (!OPCUA_EXCLUDE_TsnListenerStatus) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum TsnListenerStatus - { - /// - [EnumMember(Value = "None_0")] - None = 0, - - /// - [EnumMember(Value = "Ready_1")] - Ready = 1, - - /// - [EnumMember(Value = "PartialFailed_2")] - PartialFailed = 2, + #endregion - /// - [EnumMember(Value = "Failed_3")] - Failed = 3, + #region Private Fields + private uint m_addressSubtype; + private string m_address; + private ManAddrIfSubtype m_ifSubtype; + private uint m_ifId; + #endregion } - #region TsnListenerStatusCollection Class + #region LldpManagementAddressTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfTsnListenerStatus", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TsnListenerStatus")] - public partial class TsnListenerStatusCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLldpManagementAddressType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpManagementAddressType")] + public partial class LldpManagementAddressTypeCollection : List, ICloneable { #region Constructors /// - public TsnListenerStatusCollection() {} + public LldpManagementAddressTypeCollection() {} /// - public TsnListenerStatusCollection(int capacity) : base(capacity) {} + public LldpManagementAddressTypeCollection(int capacity) : base(capacity) {} /// - public TsnListenerStatusCollection(IEnumerable collection) : base(collection) {} + public LldpManagementAddressTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator TsnListenerStatusCollection(TsnListenerStatus[] values) + public static implicit operator LldpManagementAddressTypeCollection(LldpManagementAddressType[] values) { if (values != null) { - return new TsnListenerStatusCollection(values); + return new LldpManagementAddressTypeCollection(values); } - return new TsnListenerStatusCollection(); + return new LldpManagementAddressTypeCollection(); } /// - public static explicit operator TsnListenerStatus[](TsnListenerStatusCollection values) + public static explicit operator LldpManagementAddressType[](LldpManagementAddressTypeCollection values) { if (values != null) { @@ -26709,18 +30454,18 @@ public static explicit operator TsnListenerStatus[](TsnListenerStatusCollection /// public object Clone() { - return (TsnListenerStatusCollection)this.MemberwiseClone(); + return (LldpManagementAddressTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - TsnListenerStatusCollection clone = new TsnListenerStatusCollection(this.Count); + LldpManagementAddressTypeCollection clone = new LldpManagementAddressTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((TsnListenerStatus)Utils.Clone(this[ii])); + clone.Add((LldpManagementAddressType)Utils.Clone(this[ii])); } return clone; @@ -26730,179 +30475,164 @@ public object Clone() #endif #endregion - #region ChassisIdSubtype Enumeration - #if (!OPCUA_EXCLUDE_ChassisIdSubtype) + #region LldpTlvType Class + #if (!OPCUA_EXCLUDE_LldpTlvType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum ChassisIdSubtype + public partial class LldpTlvType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "ChassisComponent_1")] - ChassisComponent = 1, + public LldpTlvType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_tlvType = (uint)0; + m_tlvInfo = null; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "InterfaceAlias_2")] - InterfaceAlias = 2, + [DataMember(Name = "TlvType", IsRequired = false, Order = 1)] + public uint TlvType + { + get { return m_tlvType; } + set { m_tlvType = value; } + } /// - [EnumMember(Value = "PortComponent_3")] - PortComponent = 3, + [DataMember(Name = "TlvInfo", IsRequired = false, Order = 2)] + public byte[] TlvInfo + { + get { return m_tlvInfo; } + set { m_tlvInfo = value; } + } + #endregion - /// - [EnumMember(Value = "MacAddress_4")] - MacAddress = 4, + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.LldpTlvType; - /// - [EnumMember(Value = "NetworkAddress_5")] - NetworkAddress = 5, + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultBinary; - /// - [EnumMember(Value = "InterfaceName_6")] - InterfaceName = 6, + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultJson; - /// - [EnumMember(Value = "Local_7")] - Local = 7, - } + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - #region ChassisIdSubtypeCollection Class - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfChassisIdSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ChassisIdSubtype")] - public partial class ChassisIdSubtypeCollection : List, ICloneable - { - #region Constructors - /// - public ChassisIdSubtypeCollection() {} + encoder.WriteUInt32("TlvType", TlvType); + encoder.WriteByteString("TlvInfo", TlvInfo); - /// - public ChassisIdSubtypeCollection(int capacity) : base(capacity) {} + encoder.PopNamespace(); + } - /// - public ChassisIdSubtypeCollection(IEnumerable collection) : base(collection) {} - #endregion + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - #region Static Operators - /// - public static implicit operator ChassisIdSubtypeCollection(ChassisIdSubtype[] values) + TlvType = decoder.ReadUInt32("TlvType"); + TlvInfo = decoder.ReadByteString("TlvInfo"); + + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) { - if (values != null) + if (Object.ReferenceEquals(this, encodeable)) { - return new ChassisIdSubtypeCollection(values); + return true; } - return new ChassisIdSubtypeCollection(); - } + LldpTlvType value = encodeable as LldpTlvType; - /// - public static explicit operator ChassisIdSubtype[](ChassisIdSubtypeCollection values) - { - if (values != null) + if (value == null) { - return values.ToArray(); + return false; } - return null; + if (!Utils.IsEqual(m_tlvType, value.m_tlvType)) return false; + if (!Utils.IsEqual(m_tlvInfo, value.m_tlvInfo)) return false; + + return true; } - #endregion - #region ICloneable Methods - /// - public object Clone() + /// + public virtual object Clone() { - return (ChassisIdSubtypeCollection)this.MemberwiseClone(); + return (LldpTlvType)this.MemberwiseClone(); } - #endregion /// public new object MemberwiseClone() { - ChassisIdSubtypeCollection clone = new ChassisIdSubtypeCollection(this.Count); + LldpTlvType clone = (LldpTlvType)base.MemberwiseClone(); - for (int ii = 0; ii < this.Count; ii++) - { - clone.Add((ChassisIdSubtype)Utils.Clone(this[ii])); - } + clone.m_tlvType = (uint)Utils.Clone(this.m_tlvType); + clone.m_tlvInfo = (byte[])Utils.Clone(this.m_tlvInfo); return clone; } - } - #endregion - #endif - #endregion - - #region PortIdSubtype Enumeration - #if (!OPCUA_EXCLUDE_PortIdSubtype) - /// - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum PortIdSubtype - { - /// - [EnumMember(Value = "InterfaceAlias_1")] - InterfaceAlias = 1, - - /// - [EnumMember(Value = "PortComponent_2")] - PortComponent = 2, - - /// - [EnumMember(Value = "MacAddress_3")] - MacAddress = 3, - - /// - [EnumMember(Value = "NetworkAddress_4")] - NetworkAddress = 4, - - /// - [EnumMember(Value = "InterfaceName_5")] - InterfaceName = 5, - - /// - [EnumMember(Value = "AgentCircuitId_6")] - AgentCircuitId = 6, + #endregion - /// - [EnumMember(Value = "Local_7")] - Local = 7, + #region Private Fields + private uint m_tlvType; + private byte[] m_tlvInfo; + #endregion } - #region PortIdSubtypeCollection Class + #region LldpTlvTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPortIdSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PortIdSubtype")] - public partial class PortIdSubtypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLldpTlvType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpTlvType")] + public partial class LldpTlvTypeCollection : List, ICloneable { #region Constructors /// - public PortIdSubtypeCollection() {} + public LldpTlvTypeCollection() {} /// - public PortIdSubtypeCollection(int capacity) : base(capacity) {} + public LldpTlvTypeCollection(int capacity) : base(capacity) {} /// - public PortIdSubtypeCollection(IEnumerable collection) : base(collection) {} + public LldpTlvTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PortIdSubtypeCollection(PortIdSubtype[] values) + public static implicit operator LldpTlvTypeCollection(LldpTlvType[] values) { if (values != null) { - return new PortIdSubtypeCollection(values); + return new LldpTlvTypeCollection(values); } - return new PortIdSubtypeCollection(); + return new LldpTlvTypeCollection(); } /// - public static explicit operator PortIdSubtype[](PortIdSubtypeCollection values) + public static explicit operator LldpTlvType[](LldpTlvTypeCollection values) { if (values != null) { @@ -26917,18 +30647,18 @@ public static explicit operator PortIdSubtype[](PortIdSubtypeCollection values) /// public object Clone() { - return (PortIdSubtypeCollection)this.MemberwiseClone(); + return (LldpTlvTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PortIdSubtypeCollection clone = new PortIdSubtypeCollection(this.Count); + LldpTlvTypeCollection clone = new LldpTlvTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PortIdSubtype)Utils.Clone(this[ii])); + clone.Add((LldpTlvType)Utils.Clone(this[ii])); } return clone; @@ -26937,64 +30667,96 @@ public object Clone() #endregion #endif #endregion - - #region ManAddrIfSubtype Enumeration - #if (!OPCUA_EXCLUDE_ManAddrIfSubtype) + + #region LldpSystemCapabilitiesMap Enumeration + #if (!OPCUA_EXCLUDE_LldpSystemCapabilitiesMap) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public enum ManAddrIfSubtype + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum LldpSystemCapabilitiesMap : UInt32 { /// [EnumMember(Value = "None_0")] None = 0, /// - [EnumMember(Value = "Unknown_1")] - Unknown = 1, + [EnumMember(Value = "Other_1")] + Other = 1, /// - [EnumMember(Value = "PortRef_2")] - PortRef = 2, + [EnumMember(Value = "Repeater_2")] + Repeater = 2, /// - [EnumMember(Value = "SystemPortNumber_3")] - SystemPortNumber = 3, + [EnumMember(Value = "Bridge_4")] + Bridge = 4, + + /// + [EnumMember(Value = "WlanAccessPoint_8")] + WlanAccessPoint = 8, + + /// + [EnumMember(Value = "Router_16")] + Router = 16, + + /// + [EnumMember(Value = "Telephone_32")] + Telephone = 32, + + /// + [EnumMember(Value = "DocsisCableDevice_64")] + DocsisCableDevice = 64, + + /// + [EnumMember(Value = "StationOnly_128")] + StationOnly = 128, + + /// + [EnumMember(Value = "CvlanComponent_256")] + CvlanComponent = 256, + + /// + [EnumMember(Value = "SvlanComponent_512")] + SvlanComponent = 512, + + /// + [EnumMember(Value = "TwoPortMacRelay_1024")] + TwoPortMacRelay = 1024, } - #region ManAddrIfSubtypeCollection Class + #region LldpSystemCapabilitiesMapCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfManAddrIfSubtype", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ManAddrIfSubtype")] - public partial class ManAddrIfSubtypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLldpSystemCapabilitiesMap", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpSystemCapabilitiesMap")] + public partial class LldpSystemCapabilitiesMapCollection : List, ICloneable { #region Constructors /// - public ManAddrIfSubtypeCollection() {} + public LldpSystemCapabilitiesMapCollection() {} /// - public ManAddrIfSubtypeCollection(int capacity) : base(capacity) {} + public LldpSystemCapabilitiesMapCollection(int capacity) : base(capacity) {} /// - public ManAddrIfSubtypeCollection(IEnumerable collection) : base(collection) {} + public LldpSystemCapabilitiesMapCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ManAddrIfSubtypeCollection(ManAddrIfSubtype[] values) + public static implicit operator LldpSystemCapabilitiesMapCollection(LldpSystemCapabilitiesMap[] values) { if (values != null) { - return new ManAddrIfSubtypeCollection(values); + return new LldpSystemCapabilitiesMapCollection(values); } - return new ManAddrIfSubtypeCollection(); + return new LldpSystemCapabilitiesMapCollection(); } /// - public static explicit operator ManAddrIfSubtype[](ManAddrIfSubtypeCollection values) + public static explicit operator LldpSystemCapabilitiesMap[](LldpSystemCapabilitiesMapCollection values) { if (values != null) { @@ -27009,18 +30771,18 @@ public static explicit operator ManAddrIfSubtype[](ManAddrIfSubtypeCollection va /// public object Clone() { - return (ManAddrIfSubtypeCollection)this.MemberwiseClone(); + return (LldpSystemCapabilitiesMapCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ManAddrIfSubtypeCollection clone = new ManAddrIfSubtypeCollection(this.Count); + LldpSystemCapabilitiesMapCollection clone = new LldpSystemCapabilitiesMapCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ManAddrIfSubtype)Utils.Clone(this[ii])); + clone.Add((LldpSystemCapabilitiesMap)Utils.Clone(this[ii])); } return clone; @@ -27030,17 +30792,17 @@ public object Clone() #endif #endregion - #region PriorityMappingEntryType Class - #if (!OPCUA_EXCLUDE_PriorityMappingEntryType) + #region ReferenceDescriptionDataType Class + #if (!OPCUA_EXCLUDE_ReferenceDescriptionDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class PriorityMappingEntryType : IEncodeable, IJsonEncodeable + public partial class ReferenceDescriptionDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public PriorityMappingEntryType() + public ReferenceDescriptionDataType() { Initialize(); } @@ -27053,69 +30815,69 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_mappingUri = null; - m_priorityLabel = null; - m_priorityValue_PCP = (byte)0; - m_priorityValue_DSCP = (uint)0; + m_sourceNode = null; + m_referenceType = null; + m_isForward = true; + m_targetNode = null; } #endregion #region Public Properties /// - [DataMember(Name = "MappingUri", IsRequired = false, Order = 1)] - public string MappingUri + [DataMember(Name = "SourceNode", IsRequired = false, Order = 1)] + public NodeId SourceNode { - get { return m_mappingUri; } - set { m_mappingUri = value; } + get { return m_sourceNode; } + set { m_sourceNode = value; } } /// - [DataMember(Name = "PriorityLabel", IsRequired = false, Order = 2)] - public string PriorityLabel + [DataMember(Name = "ReferenceType", IsRequired = false, Order = 2)] + public NodeId ReferenceType { - get { return m_priorityLabel; } - set { m_priorityLabel = value; } + get { return m_referenceType; } + set { m_referenceType = value; } } /// - [DataMember(Name = "PriorityValue_PCP", IsRequired = false, Order = 3)] - public byte PriorityValue_PCP + [DataMember(Name = "IsForward", IsRequired = false, Order = 3)] + public bool IsForward { - get { return m_priorityValue_PCP; } - set { m_priorityValue_PCP = value; } + get { return m_isForward; } + set { m_isForward = value; } } /// - [DataMember(Name = "PriorityValue_DSCP", IsRequired = false, Order = 4)] - public uint PriorityValue_DSCP + [DataMember(Name = "TargetNode", IsRequired = false, Order = 4)] + public ExpandedNodeId TargetNode { - get { return m_priorityValue_DSCP; } - set { m_priorityValue_DSCP = value; } + get { return m_targetNode; } + set { m_targetNode = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.PriorityMappingEntryType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ReferenceDescriptionDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.PriorityMappingEntryType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteString("MappingUri", MappingUri); - encoder.WriteString("PriorityLabel", PriorityLabel); - encoder.WriteByte("PriorityValue_PCP", PriorityValue_PCP); - encoder.WriteUInt32("PriorityValue_DSCP", PriorityValue_DSCP); + encoder.WriteNodeId("SourceNode", SourceNode); + encoder.WriteNodeId("ReferenceType", ReferenceType); + encoder.WriteBoolean("IsForward", IsForward); + encoder.WriteExpandedNodeId("TargetNode", TargetNode); encoder.PopNamespace(); } @@ -27125,10 +30887,10 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - MappingUri = decoder.ReadString("MappingUri"); - PriorityLabel = decoder.ReadString("PriorityLabel"); - PriorityValue_PCP = decoder.ReadByte("PriorityValue_PCP"); - PriorityValue_DSCP = decoder.ReadUInt32("PriorityValue_DSCP"); + SourceNode = decoder.ReadNodeId("SourceNode"); + ReferenceType = decoder.ReadNodeId("ReferenceType"); + IsForward = decoder.ReadBoolean("IsForward"); + TargetNode = decoder.ReadExpandedNodeId("TargetNode"); decoder.PopNamespace(); } @@ -27141,17 +30903,17 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - PriorityMappingEntryType value = encodeable as PriorityMappingEntryType; + ReferenceDescriptionDataType value = encodeable as ReferenceDescriptionDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_mappingUri, value.m_mappingUri)) return false; - if (!Utils.IsEqual(m_priorityLabel, value.m_priorityLabel)) return false; - if (!Utils.IsEqual(m_priorityValue_PCP, value.m_priorityValue_PCP)) return false; - if (!Utils.IsEqual(m_priorityValue_DSCP, value.m_priorityValue_DSCP)) return false; + if (!Utils.IsEqual(m_sourceNode, value.m_sourceNode)) return false; + if (!Utils.IsEqual(m_referenceType, value.m_referenceType)) return false; + if (!Utils.IsEqual(m_isForward, value.m_isForward)) return false; + if (!Utils.IsEqual(m_targetNode, value.m_targetNode)) return false; return true; } @@ -27159,63 +30921,63 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (PriorityMappingEntryType)this.MemberwiseClone(); + return (ReferenceDescriptionDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - PriorityMappingEntryType clone = (PriorityMappingEntryType)base.MemberwiseClone(); + ReferenceDescriptionDataType clone = (ReferenceDescriptionDataType)base.MemberwiseClone(); - clone.m_mappingUri = (string)Utils.Clone(this.m_mappingUri); - clone.m_priorityLabel = (string)Utils.Clone(this.m_priorityLabel); - clone.m_priorityValue_PCP = (byte)Utils.Clone(this.m_priorityValue_PCP); - clone.m_priorityValue_DSCP = (uint)Utils.Clone(this.m_priorityValue_DSCP); + clone.m_sourceNode = (NodeId)Utils.Clone(this.m_sourceNode); + clone.m_referenceType = (NodeId)Utils.Clone(this.m_referenceType); + clone.m_isForward = (bool)Utils.Clone(this.m_isForward); + clone.m_targetNode = (ExpandedNodeId)Utils.Clone(this.m_targetNode); return clone; } #endregion #region Private Fields - private string m_mappingUri; - private string m_priorityLabel; - private byte m_priorityValue_PCP; - private uint m_priorityValue_DSCP; + private NodeId m_sourceNode; + private NodeId m_referenceType; + private bool m_isForward; + private ExpandedNodeId m_targetNode; #endregion } - #region PriorityMappingEntryTypeCollection Class + #region ReferenceDescriptionDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfPriorityMappingEntryType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "PriorityMappingEntryType")] - public partial class PriorityMappingEntryTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReferenceDescriptionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReferenceDescriptionDataType")] + public partial class ReferenceDescriptionDataTypeCollection : List, ICloneable { #region Constructors /// - public PriorityMappingEntryTypeCollection() {} + public ReferenceDescriptionDataTypeCollection() {} /// - public PriorityMappingEntryTypeCollection(int capacity) : base(capacity) {} + public ReferenceDescriptionDataTypeCollection(int capacity) : base(capacity) {} /// - public PriorityMappingEntryTypeCollection(IEnumerable collection) : base(collection) {} + public ReferenceDescriptionDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator PriorityMappingEntryTypeCollection(PriorityMappingEntryType[] values) + public static implicit operator ReferenceDescriptionDataTypeCollection(ReferenceDescriptionDataType[] values) { if (values != null) { - return new PriorityMappingEntryTypeCollection(values); + return new ReferenceDescriptionDataTypeCollection(values); } - return new PriorityMappingEntryTypeCollection(); + return new ReferenceDescriptionDataTypeCollection(); } /// - public static explicit operator PriorityMappingEntryType[](PriorityMappingEntryTypeCollection values) + public static explicit operator ReferenceDescriptionDataType[](ReferenceDescriptionDataTypeCollection values) { if (values != null) { @@ -27230,18 +30992,18 @@ public static explicit operator PriorityMappingEntryType[](PriorityMappingEntryT /// public object Clone() { - return (PriorityMappingEntryTypeCollection)this.MemberwiseClone(); + return (ReferenceDescriptionDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - PriorityMappingEntryTypeCollection clone = new PriorityMappingEntryTypeCollection(this.Count); + ReferenceDescriptionDataTypeCollection clone = new ReferenceDescriptionDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((PriorityMappingEntryType)Utils.Clone(this[ii])); + clone.Add((ReferenceDescriptionDataType)Utils.Clone(this[ii])); } return clone; @@ -27251,17 +31013,17 @@ public object Clone() #endif #endregion - #region LldpManagementAddressTxPortType Class - #if (!OPCUA_EXCLUDE_LldpManagementAddressTxPortType) + #region ReferenceListEntryDataType Class + #if (!OPCUA_EXCLUDE_ReferenceListEntryDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class LldpManagementAddressTxPortType : IEncodeable, IJsonEncodeable + public partial class ReferenceListEntryDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public LldpManagementAddressTxPortType() + public ReferenceListEntryDataType() { Initialize(); } @@ -27274,89 +31036,59 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_addressSubtype = (uint)0; - m_manAddress = null; - m_txEnable = true; - m_addrLen = (uint)0; - m_ifSubtype = ManAddrIfSubtype.None; - m_ifId = (uint)0; + m_referenceType = null; + m_isForward = true; + m_targetNode = null; } #endregion #region Public Properties /// - [DataMember(Name = "AddressSubtype", IsRequired = false, Order = 1)] - public uint AddressSubtype - { - get { return m_addressSubtype; } - set { m_addressSubtype = value; } - } - - /// - [DataMember(Name = "ManAddress", IsRequired = false, Order = 2)] - public string ManAddress - { - get { return m_manAddress; } - set { m_manAddress = value; } - } - - /// - [DataMember(Name = "TxEnable", IsRequired = false, Order = 3)] - public bool TxEnable - { - get { return m_txEnable; } - set { m_txEnable = value; } - } - - /// - [DataMember(Name = "AddrLen", IsRequired = false, Order = 4)] - public uint AddrLen + [DataMember(Name = "ReferenceType", IsRequired = false, Order = 1)] + public NodeId ReferenceType { - get { return m_addrLen; } - set { m_addrLen = value; } + get { return m_referenceType; } + set { m_referenceType = value; } } /// - [DataMember(Name = "IfSubtype", IsRequired = false, Order = 5)] - public ManAddrIfSubtype IfSubtype + [DataMember(Name = "IsForward", IsRequired = false, Order = 2)] + public bool IsForward { - get { return m_ifSubtype; } - set { m_ifSubtype = value; } + get { return m_isForward; } + set { m_isForward = value; } } /// - [DataMember(Name = "IfId", IsRequired = false, Order = 6)] - public uint IfId + [DataMember(Name = "TargetNode", IsRequired = false, Order = 3)] + public ExpandedNodeId TargetNode { - get { return m_ifId; } - set { m_ifId = value; } + get { return m_targetNode; } + set { m_targetNode = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.LldpManagementAddressTxPortType; + public virtual ExpandedNodeId TypeId => DataTypeIds.ReferenceListEntryDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpManagementAddressTxPortType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("AddressSubtype", AddressSubtype); - encoder.WriteString("ManAddress", ManAddress); - encoder.WriteBoolean("TxEnable", TxEnable); - encoder.WriteUInt32("AddrLen", AddrLen); - encoder.WriteEnumerated("IfSubtype", IfSubtype); - encoder.WriteUInt32("IfId", IfId); + encoder.WriteNodeId("ReferenceType", ReferenceType); + encoder.WriteBoolean("IsForward", IsForward); + encoder.WriteExpandedNodeId("TargetNode", TargetNode); encoder.PopNamespace(); } @@ -27366,12 +31098,9 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - AddressSubtype = decoder.ReadUInt32("AddressSubtype"); - ManAddress = decoder.ReadString("ManAddress"); - TxEnable = decoder.ReadBoolean("TxEnable"); - AddrLen = decoder.ReadUInt32("AddrLen"); - IfSubtype = (ManAddrIfSubtype)decoder.ReadEnumerated("IfSubtype", typeof(ManAddrIfSubtype)); - IfId = decoder.ReadUInt32("IfId"); + ReferenceType = decoder.ReadNodeId("ReferenceType"); + IsForward = decoder.ReadBoolean("IsForward"); + TargetNode = decoder.ReadExpandedNodeId("TargetNode"); decoder.PopNamespace(); } @@ -27384,19 +31113,16 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - LldpManagementAddressTxPortType value = encodeable as LldpManagementAddressTxPortType; + ReferenceListEntryDataType value = encodeable as ReferenceListEntryDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_addressSubtype, value.m_addressSubtype)) return false; - if (!Utils.IsEqual(m_manAddress, value.m_manAddress)) return false; - if (!Utils.IsEqual(m_txEnable, value.m_txEnable)) return false; - if (!Utils.IsEqual(m_addrLen, value.m_addrLen)) return false; - if (!Utils.IsEqual(m_ifSubtype, value.m_ifSubtype)) return false; - if (!Utils.IsEqual(m_ifId, value.m_ifId)) return false; + if (!Utils.IsEqual(m_referenceType, value.m_referenceType)) return false; + if (!Utils.IsEqual(m_isForward, value.m_isForward)) return false; + if (!Utils.IsEqual(m_targetNode, value.m_targetNode)) return false; return true; } @@ -27404,67 +31130,61 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (LldpManagementAddressTxPortType)this.MemberwiseClone(); + return (ReferenceListEntryDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - LldpManagementAddressTxPortType clone = (LldpManagementAddressTxPortType)base.MemberwiseClone(); + ReferenceListEntryDataType clone = (ReferenceListEntryDataType)base.MemberwiseClone(); - clone.m_addressSubtype = (uint)Utils.Clone(this.m_addressSubtype); - clone.m_manAddress = (string)Utils.Clone(this.m_manAddress); - clone.m_txEnable = (bool)Utils.Clone(this.m_txEnable); - clone.m_addrLen = (uint)Utils.Clone(this.m_addrLen); - clone.m_ifSubtype = (ManAddrIfSubtype)Utils.Clone(this.m_ifSubtype); - clone.m_ifId = (uint)Utils.Clone(this.m_ifId); + clone.m_referenceType = (NodeId)Utils.Clone(this.m_referenceType); + clone.m_isForward = (bool)Utils.Clone(this.m_isForward); + clone.m_targetNode = (ExpandedNodeId)Utils.Clone(this.m_targetNode); return clone; } #endregion #region Private Fields - private uint m_addressSubtype; - private string m_manAddress; - private bool m_txEnable; - private uint m_addrLen; - private ManAddrIfSubtype m_ifSubtype; - private uint m_ifId; + private NodeId m_referenceType; + private bool m_isForward; + private ExpandedNodeId m_targetNode; #endregion } - #region LldpManagementAddressTxPortTypeCollection Class + #region ReferenceListEntryDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfLldpManagementAddressTxPortType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpManagementAddressTxPortType")] - public partial class LldpManagementAddressTxPortTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfReferenceListEntryDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReferenceListEntryDataType")] + public partial class ReferenceListEntryDataTypeCollection : List, ICloneable { #region Constructors /// - public LldpManagementAddressTxPortTypeCollection() {} + public ReferenceListEntryDataTypeCollection() {} /// - public LldpManagementAddressTxPortTypeCollection(int capacity) : base(capacity) {} + public ReferenceListEntryDataTypeCollection(int capacity) : base(capacity) {} /// - public LldpManagementAddressTxPortTypeCollection(IEnumerable collection) : base(collection) {} + public ReferenceListEntryDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator LldpManagementAddressTxPortTypeCollection(LldpManagementAddressTxPortType[] values) + public static implicit operator ReferenceListEntryDataTypeCollection(ReferenceListEntryDataType[] values) { if (values != null) { - return new LldpManagementAddressTxPortTypeCollection(values); + return new ReferenceListEntryDataTypeCollection(values); } - return new LldpManagementAddressTxPortTypeCollection(); + return new ReferenceListEntryDataTypeCollection(); } /// - public static explicit operator LldpManagementAddressTxPortType[](LldpManagementAddressTxPortTypeCollection values) + public static explicit operator ReferenceListEntryDataType[](ReferenceListEntryDataTypeCollection values) { if (values != null) { @@ -27479,18 +31199,18 @@ public static explicit operator LldpManagementAddressTxPortType[](LldpManagement /// public object Clone() { - return (LldpManagementAddressTxPortTypeCollection)this.MemberwiseClone(); + return (ReferenceListEntryDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - LldpManagementAddressTxPortTypeCollection clone = new LldpManagementAddressTxPortTypeCollection(this.Count); + ReferenceListEntryDataTypeCollection clone = new ReferenceListEntryDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((LldpManagementAddressTxPortType)Utils.Clone(this[ii])); + clone.Add((ReferenceListEntryDataType)Utils.Clone(this[ii])); } return clone; @@ -27500,92 +31220,181 @@ public object Clone() #endif #endregion - #region LldpManagementAddressType Class - #if (!OPCUA_EXCLUDE_LldpManagementAddressType) + #region LogRecord Class + #if (!OPCUA_EXCLUDE_LogRecord) + /// + /// + + public enum LogRecordFields : uint + { + /// + None = 0, + /// + EventType = 0x1, + /// + SourceNode = 0x2, + /// + SourceName = 0x4, + /// + TraceContext = 0x8, + /// + AdditionalData = 0x10, + } + /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class LldpManagementAddressType : IEncodeable, IJsonEncodeable + public partial class LogRecord : IEncodeable, IJsonEncodeable { #region Constructors /// - public LldpManagementAddressType() + public LogRecord() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_addressSubtype = (uint)0; - m_address = null; - m_ifSubtype = ManAddrIfSubtype.None; - m_ifId = (uint)0; + EncodingMask = (uint)LogRecordFields.None; + m_time = DateTime.MinValue; + m_severity = (ushort)0; + m_eventType = null; + m_sourceNode = null; + m_sourceName = null; + m_message = null; + m_traceContext = new TraceContextDataType(); + m_additionalData = new NameValuePairCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "AddressSubtype", IsRequired = false, Order = 1)] - public uint AddressSubtype + [DataMember(Name = "EncodingMask", IsRequired = true, Order = 0)] + public virtual uint EncodingMask { get; set; } + + /// + [DataMember(Name = "Time", IsRequired = false, Order = 1)] + public DateTime Time { - get { return m_addressSubtype; } - set { m_addressSubtype = value; } + get { return m_time; } + set { m_time = value; } } /// - [DataMember(Name = "Address", IsRequired = false, Order = 2)] - public string Address + [DataMember(Name = "Severity", IsRequired = false, Order = 2)] + public ushort Severity { - get { return m_address; } - set { m_address = value; } + get { return m_severity; } + set { m_severity = value; } } /// - [DataMember(Name = "IfSubtype", IsRequired = false, Order = 3)] - public ManAddrIfSubtype IfSubtype + [DataMember(Name = "EventType", IsRequired = false, Order = 3)] + public NodeId EventType { - get { return m_ifSubtype; } - set { m_ifSubtype = value; } + get { return m_eventType; } + set { m_eventType = value; } } /// - [DataMember(Name = "IfId", IsRequired = false, Order = 4)] - public uint IfId + [DataMember(Name = "SourceNode", IsRequired = false, Order = 4)] + public NodeId SourceNode { - get { return m_ifId; } - set { m_ifId = value; } + get { return m_sourceNode; } + set { m_sourceNode = value; } + } + + /// + [DataMember(Name = "SourceName", IsRequired = false, Order = 5)] + public string SourceName + { + get { return m_sourceName; } + set { m_sourceName = value; } + } + + /// + [DataMember(Name = "Message", IsRequired = false, Order = 6)] + public LocalizedText Message + { + get { return m_message; } + set { m_message = value; } + } + + /// + [DataMember(Name = "TraceContext", IsRequired = false, Order = 7)] + public TraceContextDataType TraceContext + { + get + { + return m_traceContext; + } + + set + { + m_traceContext = value; + + if (value == null) + { + m_traceContext = new TraceContextDataType(); + } + } + } + + /// + [DataMember(Name = "AdditionalData", IsRequired = false, Order = 8)] + public NameValuePairCollection AdditionalData + { + get + { + return m_additionalData; + } + + set + { + m_additionalData = value; + + if (value == null) + { + m_additionalData = new NameValuePairCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.LldpManagementAddressType; + public virtual ExpandedNodeId TypeId => DataTypeIds.LogRecord; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LogRecord_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultXml; - + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LogRecord_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpManagementAddressType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LogRecord_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); + encoder.WriteEncodingMask((uint)EncodingMask); - encoder.WriteUInt32("AddressSubtype", AddressSubtype); - encoder.WriteString("Address", Address); - encoder.WriteEnumerated("IfSubtype", IfSubtype); - encoder.WriteUInt32("IfId", IfId); + encoder.WriteDateTime("Time", Time); + encoder.WriteUInt16("Severity", Severity); + if ((EncodingMask & (uint)LogRecordFields.EventType) != 0) encoder.WriteNodeId("EventType", EventType); + if ((EncodingMask & (uint)LogRecordFields.SourceNode) != 0) encoder.WriteNodeId("SourceNode", SourceNode); + if ((EncodingMask & (uint)LogRecordFields.SourceName) != 0) encoder.WriteString("SourceName", SourceName); + encoder.WriteLocalizedText("Message", Message); + if ((EncodingMask & (uint)LogRecordFields.TraceContext) != 0) encoder.WriteEncodeable("TraceContext", TraceContext, typeof(TraceContextDataType)); + if ((EncodingMask & (uint)LogRecordFields.AdditionalData) != 0) encoder.WriteEncodeableArray("AdditionalData", AdditionalData.ToArray(), typeof(NameValuePair)); encoder.PopNamespace(); } @@ -27595,10 +31404,16 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - AddressSubtype = decoder.ReadUInt32("AddressSubtype"); - Address = decoder.ReadString("Address"); - IfSubtype = (ManAddrIfSubtype)decoder.ReadEnumerated("IfSubtype", typeof(ManAddrIfSubtype)); - IfId = decoder.ReadUInt32("IfId"); + EncodingMask = decoder.ReadEncodingMask(m_FieldNames); + + Time = decoder.ReadDateTime("Time"); + Severity = decoder.ReadUInt16("Severity"); + if ((EncodingMask & (uint)LogRecordFields.EventType) != 0) EventType = decoder.ReadNodeId("EventType"); + if ((EncodingMask & (uint)LogRecordFields.SourceNode) != 0) SourceNode = decoder.ReadNodeId("SourceNode"); + if ((EncodingMask & (uint)LogRecordFields.SourceName) != 0) SourceName = decoder.ReadString("SourceName"); + Message = decoder.ReadLocalizedText("Message"); + if ((EncodingMask & (uint)LogRecordFields.TraceContext) != 0) TraceContext = (TraceContextDataType)decoder.ReadEncodeable("TraceContext", typeof(TraceContextDataType)); + if ((EncodingMask & (uint)LogRecordFields.AdditionalData) != 0) AdditionalData = (NameValuePairCollection)decoder.ReadEncodeableArray("AdditionalData", typeof(NameValuePair)); decoder.PopNamespace(); } @@ -27611,17 +31426,23 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - LldpManagementAddressType value = encodeable as LldpManagementAddressType; + LogRecord value = encodeable as LogRecord; if (value == null) { return false; } - if (!Utils.IsEqual(m_addressSubtype, value.m_addressSubtype)) return false; - if (!Utils.IsEqual(m_address, value.m_address)) return false; - if (!Utils.IsEqual(m_ifSubtype, value.m_ifSubtype)) return false; - if (!Utils.IsEqual(m_ifId, value.m_ifId)) return false; + if (value.EncodingMask != this.EncodingMask) return false; + + if (!Utils.IsEqual(m_time, value.m_time)) return false; + if (!Utils.IsEqual(m_severity, value.m_severity)) return false; + if ((EncodingMask & (uint)LogRecordFields.EventType) != 0) if (!Utils.IsEqual(m_eventType, value.m_eventType)) return false; + if ((EncodingMask & (uint)LogRecordFields.SourceNode) != 0) if (!Utils.IsEqual(m_sourceNode, value.m_sourceNode)) return false; + if ((EncodingMask & (uint)LogRecordFields.SourceName) != 0) if (!Utils.IsEqual(m_sourceName, value.m_sourceName)) return false; + if (!Utils.IsEqual(m_message, value.m_message)) return false; + if ((EncodingMask & (uint)LogRecordFields.TraceContext) != 0) if (!Utils.IsEqual(m_traceContext, value.m_traceContext)) return false; + if ((EncodingMask & (uint)LogRecordFields.AdditionalData) != 0) if (!Utils.IsEqual(m_additionalData, value.m_additionalData)) return false; return true; } @@ -27629,63 +31450,75 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (LldpManagementAddressType)this.MemberwiseClone(); + return (LogRecord)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - LldpManagementAddressType clone = (LldpManagementAddressType)base.MemberwiseClone(); + LogRecord clone = (LogRecord)base.MemberwiseClone(); - clone.m_addressSubtype = (uint)Utils.Clone(this.m_addressSubtype); - clone.m_address = (string)Utils.Clone(this.m_address); - clone.m_ifSubtype = (ManAddrIfSubtype)Utils.Clone(this.m_ifSubtype); - clone.m_ifId = (uint)Utils.Clone(this.m_ifId); + clone.EncodingMask = this.EncodingMask; + + clone.m_time = (DateTime)Utils.Clone(this.m_time); + clone.m_severity = (ushort)Utils.Clone(this.m_severity); + if ((EncodingMask & (uint)LogRecordFields.EventType) != 0) clone.m_eventType = (NodeId)Utils.Clone(this.m_eventType); + if ((EncodingMask & (uint)LogRecordFields.SourceNode) != 0) clone.m_sourceNode = (NodeId)Utils.Clone(this.m_sourceNode); + if ((EncodingMask & (uint)LogRecordFields.SourceName) != 0) clone.m_sourceName = (string)Utils.Clone(this.m_sourceName); + clone.m_message = (LocalizedText)Utils.Clone(this.m_message); + if ((EncodingMask & (uint)LogRecordFields.TraceContext) != 0) clone.m_traceContext = (TraceContextDataType)Utils.Clone(this.m_traceContext); + if ((EncodingMask & (uint)LogRecordFields.AdditionalData) != 0) clone.m_additionalData = (NameValuePairCollection)Utils.Clone(this.m_additionalData); return clone; } #endregion #region Private Fields - private uint m_addressSubtype; - private string m_address; - private ManAddrIfSubtype m_ifSubtype; - private uint m_ifId; + private DateTime m_time; + private ushort m_severity; + private NodeId m_eventType; + private NodeId m_sourceNode; + private string m_sourceName; + private LocalizedText m_message; + private TraceContextDataType m_traceContext; + private NameValuePairCollection m_additionalData; + + private static readonly string[] m_FieldNames = Enum.GetNames(typeof(LogRecordFields)).Where(x => x != nameof(LogRecordFields.None)).ToArray(); #endregion } - #region LldpManagementAddressTypeCollection Class + #region LogRecordCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfLldpManagementAddressType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpManagementAddressType")] - public partial class LldpManagementAddressTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLogRecord", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LogRecord")] + public partial class LogRecordCollection : List, ICloneable { #region Constructors /// - public LldpManagementAddressTypeCollection() {} + public LogRecordCollection() {} /// - public LldpManagementAddressTypeCollection(int capacity) : base(capacity) {} + public LogRecordCollection(int capacity) : base(capacity) {} /// - public LldpManagementAddressTypeCollection(IEnumerable collection) : base(collection) {} + public LogRecordCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator LldpManagementAddressTypeCollection(LldpManagementAddressType[] values) + public static implicit operator LogRecordCollection(LogRecord[] values) { if (values != null) { - return new LldpManagementAddressTypeCollection(values); + return new LogRecordCollection(values); } - return new LldpManagementAddressTypeCollection(); + return new LogRecordCollection(); } /// - public static explicit operator LldpManagementAddressType[](LldpManagementAddressTypeCollection values) + public static explicit operator LogRecord[](LogRecordCollection values) { if (values != null) { @@ -27700,18 +31533,18 @@ public static explicit operator LldpManagementAddressType[](LldpManagementAddres /// public object Clone() { - return (LldpManagementAddressTypeCollection)this.MemberwiseClone(); + return (LogRecordCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - LldpManagementAddressTypeCollection clone = new LldpManagementAddressTypeCollection(this.Count); + LogRecordCollection clone = new LogRecordCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((LldpManagementAddressType)Utils.Clone(this[ii])); + clone.Add((LogRecord)Utils.Clone(this[ii])); } return clone; @@ -27721,17 +31554,17 @@ public object Clone() #endif #endregion - #region LldpTlvType Class - #if (!OPCUA_EXCLUDE_LldpTlvType) + #region LogRecordsDataType Class + #if (!OPCUA_EXCLUDE_LogRecordsDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class LldpTlvType : IEncodeable, IJsonEncodeable + public partial class LogRecordsDataType : IEncodeable, IJsonEncodeable { #region Constructors /// - public LldpTlvType() + public LogRecordsDataType() { Initialize(); } @@ -27744,49 +31577,51 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_tlvType = (uint)0; - m_tlvInfo = null; + m_logRecordArray = new LogRecordCollection(); } #endregion #region Public Properties /// - [DataMember(Name = "TlvType", IsRequired = false, Order = 1)] - public uint TlvType + [DataMember(Name = "LogRecordArray", IsRequired = false, Order = 1)] + public LogRecordCollection LogRecordArray { - get { return m_tlvType; } - set { m_tlvType = value; } - } + get + { + return m_logRecordArray; + } - /// - [DataMember(Name = "TlvInfo", IsRequired = false, Order = 2)] - public byte[] TlvInfo - { - get { return m_tlvInfo; } - set { m_tlvInfo = value; } + set + { + m_logRecordArray = value; + + if (value == null) + { + m_logRecordArray = new LogRecordCollection(); + } + } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.LldpTlvType; + public virtual ExpandedNodeId TypeId => DataTypeIds.LogRecordsDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.LogRecordsDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.LogRecordsDataType_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LldpTlvType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.LogRecordsDataType_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteUInt32("TlvType", TlvType); - encoder.WriteByteString("TlvInfo", TlvInfo); + encoder.WriteEncodeableArray("LogRecordArray", LogRecordArray.ToArray(), typeof(LogRecord)); encoder.PopNamespace(); } @@ -27796,8 +31631,7 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - TlvType = decoder.ReadUInt32("TlvType"); - TlvInfo = decoder.ReadByteString("TlvInfo"); + LogRecordArray = (LogRecordCollection)decoder.ReadEncodeableArray("LogRecordArray", typeof(LogRecord)); decoder.PopNamespace(); } @@ -27810,15 +31644,14 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - LldpTlvType value = encodeable as LldpTlvType; + LogRecordsDataType value = encodeable as LogRecordsDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_tlvType, value.m_tlvType)) return false; - if (!Utils.IsEqual(m_tlvInfo, value.m_tlvInfo)) return false; + if (!Utils.IsEqual(m_logRecordArray, value.m_logRecordArray)) return false; return true; } @@ -27826,59 +31659,57 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (LldpTlvType)this.MemberwiseClone(); + return (LogRecordsDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - LldpTlvType clone = (LldpTlvType)base.MemberwiseClone(); + LogRecordsDataType clone = (LogRecordsDataType)base.MemberwiseClone(); - clone.m_tlvType = (uint)Utils.Clone(this.m_tlvType); - clone.m_tlvInfo = (byte[])Utils.Clone(this.m_tlvInfo); + clone.m_logRecordArray = (LogRecordCollection)Utils.Clone(this.m_logRecordArray); return clone; } #endregion #region Private Fields - private uint m_tlvType; - private byte[] m_tlvInfo; + private LogRecordCollection m_logRecordArray; #endregion } - #region LldpTlvTypeCollection Class + #region LogRecordsDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfLldpTlvType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpTlvType")] - public partial class LldpTlvTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfLogRecordsDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LogRecordsDataType")] + public partial class LogRecordsDataTypeCollection : List, ICloneable { #region Constructors /// - public LldpTlvTypeCollection() {} + public LogRecordsDataTypeCollection() {} /// - public LldpTlvTypeCollection(int capacity) : base(capacity) {} + public LogRecordsDataTypeCollection(int capacity) : base(capacity) {} /// - public LldpTlvTypeCollection(IEnumerable collection) : base(collection) {} + public LogRecordsDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator LldpTlvTypeCollection(LldpTlvType[] values) + public static implicit operator LogRecordsDataTypeCollection(LogRecordsDataType[] values) { if (values != null) { - return new LldpTlvTypeCollection(values); + return new LogRecordsDataTypeCollection(values); } - return new LldpTlvTypeCollection(); + return new LogRecordsDataTypeCollection(); } /// - public static explicit operator LldpTlvType[](LldpTlvTypeCollection values) + public static explicit operator LogRecordsDataType[](LogRecordsDataTypeCollection values) { if (values != null) { @@ -27893,18 +31724,18 @@ public static explicit operator LldpTlvType[](LldpTlvTypeCollection values) /// public object Clone() { - return (LldpTlvTypeCollection)this.MemberwiseClone(); + return (LogRecordsDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - LldpTlvTypeCollection clone = new LldpTlvTypeCollection(this.Count); + LogRecordsDataTypeCollection clone = new LogRecordsDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((LldpTlvType)Utils.Clone(this[ii])); + clone.Add((LogRecordsDataType)Utils.Clone(this[ii])); } return clone; @@ -27914,95 +31745,164 @@ public object Clone() #endif #endregion - #region LldpSystemCapabilitiesMap Enumeration - #if (!OPCUA_EXCLUDE_LldpSystemCapabilitiesMap) + #region SpanContextDataType Class + #if (!OPCUA_EXCLUDE_SpanContextDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] - public enum LldpSystemCapabilitiesMap : UInt32 + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] + public partial class SpanContextDataType : IEncodeable, IJsonEncodeable { + #region Constructors /// - [EnumMember(Value = "None_0")] - None = 0, + public SpanContextDataType() + { + Initialize(); + } + + [OnDeserializing] + private void Initialize(StreamingContext context) + { + Initialize(); + } + + private void Initialize() + { + m_traceId = Uuid.Empty; + m_spanId = (ulong)0; + } + #endregion + #region Public Properties /// - [EnumMember(Value = "Other_1")] - Other = 1, + [DataMember(Name = "TraceId", IsRequired = false, Order = 1)] + public Uuid TraceId + { + get { return m_traceId; } + set { m_traceId = value; } + } /// - [EnumMember(Value = "Repeater_2")] - Repeater = 2, + [DataMember(Name = "SpanId", IsRequired = false, Order = 2)] + public ulong SpanId + { + get { return m_spanId; } + set { m_spanId = value; } + } + #endregion - /// - [EnumMember(Value = "Bridge_4")] - Bridge = 4, + #region IEncodeable Members + /// + public virtual ExpandedNodeId TypeId => DataTypeIds.SpanContextDataType; - /// - [EnumMember(Value = "WlanAccessPoint_8")] - WlanAccessPoint = 8, + /// + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.SpanContextDataType_Encoding_DefaultBinary; - /// - [EnumMember(Value = "Router_16")] - Router = 16, + /// + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.SpanContextDataType_Encoding_DefaultXml; + + /// + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.SpanContextDataType_Encoding_DefaultJson; - /// - [EnumMember(Value = "Telephone_32")] - Telephone = 32, + /// + public virtual void Encode(IEncoder encoder) + { + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - /// - [EnumMember(Value = "DocsisCableDevice_64")] - DocsisCableDevice = 64, + encoder.WriteGuid("TraceId", TraceId); + encoder.WriteUInt64("SpanId", SpanId); - /// - [EnumMember(Value = "StationOnly_128")] - StationOnly = 128, + encoder.PopNamespace(); + } - /// - [EnumMember(Value = "CvlanComponent_256")] - CvlanComponent = 256, + /// + public virtual void Decode(IDecoder decoder) + { + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - /// - [EnumMember(Value = "SvlanComponent_512")] - SvlanComponent = 512, + TraceId = decoder.ReadGuid("TraceId"); + SpanId = decoder.ReadUInt64("SpanId"); - /// - [EnumMember(Value = "TwoPortMacRelay_1024")] - TwoPortMacRelay = 1024, + decoder.PopNamespace(); + } + + /// + public virtual bool IsEqual(IEncodeable encodeable) + { + if (Object.ReferenceEquals(this, encodeable)) + { + return true; + } + + SpanContextDataType value = encodeable as SpanContextDataType; + + if (value == null) + { + return false; + } + + if (!Utils.IsEqual(m_traceId, value.m_traceId)) return false; + if (!Utils.IsEqual(m_spanId, value.m_spanId)) return false; + + return true; + } + + /// + public virtual object Clone() + { + return (SpanContextDataType)this.MemberwiseClone(); + } + + /// + public new object MemberwiseClone() + { + SpanContextDataType clone = (SpanContextDataType)base.MemberwiseClone(); + + clone.m_traceId = (Uuid)Utils.Clone(this.m_traceId); + clone.m_spanId = (ulong)Utils.Clone(this.m_spanId); + + return clone; + } + #endregion + + #region Private Fields + private Uuid m_traceId; + private ulong m_spanId; + #endregion } - #region LldpSystemCapabilitiesMapCollection Class + #region SpanContextDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfLldpSystemCapabilitiesMap", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LldpSystemCapabilitiesMap")] - public partial class LldpSystemCapabilitiesMapCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfSpanContextDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "SpanContextDataType")] + public partial class SpanContextDataTypeCollection : List, ICloneable { #region Constructors /// - public LldpSystemCapabilitiesMapCollection() {} + public SpanContextDataTypeCollection() {} /// - public LldpSystemCapabilitiesMapCollection(int capacity) : base(capacity) {} + public SpanContextDataTypeCollection(int capacity) : base(capacity) {} /// - public LldpSystemCapabilitiesMapCollection(IEnumerable collection) : base(collection) {} + public SpanContextDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator LldpSystemCapabilitiesMapCollection(LldpSystemCapabilitiesMap[] values) + public static implicit operator SpanContextDataTypeCollection(SpanContextDataType[] values) { if (values != null) { - return new LldpSystemCapabilitiesMapCollection(values); + return new SpanContextDataTypeCollection(values); } - return new LldpSystemCapabilitiesMapCollection(); + return new SpanContextDataTypeCollection(); } /// - public static explicit operator LldpSystemCapabilitiesMap[](LldpSystemCapabilitiesMapCollection values) + public static explicit operator SpanContextDataType[](SpanContextDataTypeCollection values) { if (values != null) { @@ -28017,18 +31917,18 @@ public static explicit operator LldpSystemCapabilitiesMap[](LldpSystemCapabiliti /// public object Clone() { - return (LldpSystemCapabilitiesMapCollection)this.MemberwiseClone(); + return (SpanContextDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - LldpSystemCapabilitiesMapCollection clone = new LldpSystemCapabilitiesMapCollection(this.Count); + SpanContextDataTypeCollection clone = new SpanContextDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((LldpSystemCapabilitiesMap)Utils.Clone(this[ii])); + clone.Add((SpanContextDataType)Utils.Clone(this[ii])); } return clone; @@ -28038,192 +31938,168 @@ public object Clone() #endif #endregion - #region ReferenceDescriptionDataType Class - #if (!OPCUA_EXCLUDE_ReferenceDescriptionDataType) + #region TraceContextDataType Class + #if (!OPCUA_EXCLUDE_TraceContextDataType) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReferenceDescriptionDataType : IEncodeable, IJsonEncodeable + public partial class TraceContextDataType : Opc.Ua.SpanContextDataType { #region Constructors /// - public ReferenceDescriptionDataType() + public TraceContextDataType() { Initialize(); } - + [OnDeserializing] private void Initialize(StreamingContext context) { Initialize(); } - + private void Initialize() { - m_sourceNode = null; - m_referenceType = null; - m_isForward = true; - m_targetNode = null; + m_parentSpanId = (ulong)0; + m_parentIdentifier = null; } #endregion #region Public Properties /// - [DataMember(Name = "SourceNode", IsRequired = false, Order = 1)] - public NodeId SourceNode - { - get { return m_sourceNode; } - set { m_sourceNode = value; } - } - - /// - [DataMember(Name = "ReferenceType", IsRequired = false, Order = 2)] - public NodeId ReferenceType - { - get { return m_referenceType; } - set { m_referenceType = value; } - } - - /// - [DataMember(Name = "IsForward", IsRequired = false, Order = 3)] - public bool IsForward + [DataMember(Name = "ParentSpanId", IsRequired = false, Order = 1)] + public ulong ParentSpanId { - get { return m_isForward; } - set { m_isForward = value; } + get { return m_parentSpanId; } + set { m_parentSpanId = value; } } /// - [DataMember(Name = "TargetNode", IsRequired = false, Order = 4)] - public ExpandedNodeId TargetNode + [DataMember(Name = "ParentIdentifier", IsRequired = false, Order = 2)] + public string ParentIdentifier { - get { return m_targetNode; } - set { m_targetNode = value; } + get { return m_parentIdentifier; } + set { m_parentIdentifier = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ReferenceDescriptionDataType; + public override ExpandedNodeId TypeId => DataTypeIds.TraceContextDataType; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultBinary; + public override ExpandedNodeId BinaryEncodingId => ObjectIds.TraceContextDataType_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultXml; - + public override ExpandedNodeId XmlEncodingId => ObjectIds.TraceContextDataType_Encoding_DefaultXml; + /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReferenceDescriptionDataType_Encoding_DefaultJson; + public override ExpandedNodeId JsonEncodingId => ObjectIds.TraceContextDataType_Encoding_DefaultJson; /// - public virtual void Encode(IEncoder encoder) + public override void Encode(IEncoder encoder) { + base.Encode(encoder); + encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("SourceNode", SourceNode); - encoder.WriteNodeId("ReferenceType", ReferenceType); - encoder.WriteBoolean("IsForward", IsForward); - encoder.WriteExpandedNodeId("TargetNode", TargetNode); + encoder.WriteUInt64("ParentSpanId", ParentSpanId); + encoder.WriteString("ParentIdentifier", ParentIdentifier); encoder.PopNamespace(); } /// - public virtual void Decode(IDecoder decoder) + public override void Decode(IDecoder decoder) { + base.Decode(decoder); + decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - SourceNode = decoder.ReadNodeId("SourceNode"); - ReferenceType = decoder.ReadNodeId("ReferenceType"); - IsForward = decoder.ReadBoolean("IsForward"); - TargetNode = decoder.ReadExpandedNodeId("TargetNode"); + ParentSpanId = decoder.ReadUInt64("ParentSpanId"); + ParentIdentifier = decoder.ReadString("ParentIdentifier"); decoder.PopNamespace(); } /// - public virtual bool IsEqual(IEncodeable encodeable) + public override bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return true; } - ReferenceDescriptionDataType value = encodeable as ReferenceDescriptionDataType; + TraceContextDataType value = encodeable as TraceContextDataType; if (value == null) { return false; } - if (!Utils.IsEqual(m_sourceNode, value.m_sourceNode)) return false; - if (!Utils.IsEqual(m_referenceType, value.m_referenceType)) return false; - if (!Utils.IsEqual(m_isForward, value.m_isForward)) return false; - if (!Utils.IsEqual(m_targetNode, value.m_targetNode)) return false; + if (!Utils.IsEqual(m_parentSpanId, value.m_parentSpanId)) return false; + if (!Utils.IsEqual(m_parentIdentifier, value.m_parentIdentifier)) return false; - return true; - } + return base.IsEqual(encodeable); + } /// - public virtual object Clone() + public override object Clone() { - return (ReferenceDescriptionDataType)this.MemberwiseClone(); + return (TraceContextDataType)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReferenceDescriptionDataType clone = (ReferenceDescriptionDataType)base.MemberwiseClone(); + TraceContextDataType clone = (TraceContextDataType)base.MemberwiseClone(); - clone.m_sourceNode = (NodeId)Utils.Clone(this.m_sourceNode); - clone.m_referenceType = (NodeId)Utils.Clone(this.m_referenceType); - clone.m_isForward = (bool)Utils.Clone(this.m_isForward); - clone.m_targetNode = (ExpandedNodeId)Utils.Clone(this.m_targetNode); + clone.m_parentSpanId = (ulong)Utils.Clone(this.m_parentSpanId); + clone.m_parentIdentifier = (string)Utils.Clone(this.m_parentIdentifier); return clone; } #endregion #region Private Fields - private NodeId m_sourceNode; - private NodeId m_referenceType; - private bool m_isForward; - private ExpandedNodeId m_targetNode; + private ulong m_parentSpanId; + private string m_parentIdentifier; #endregion } - #region ReferenceDescriptionDataTypeCollection Class + #region TraceContextDataTypeCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReferenceDescriptionDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReferenceDescriptionDataType")] - public partial class ReferenceDescriptionDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfTraceContextDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "TraceContextDataType")] + public partial class TraceContextDataTypeCollection : List, ICloneable { #region Constructors /// - public ReferenceDescriptionDataTypeCollection() {} + public TraceContextDataTypeCollection() {} /// - public ReferenceDescriptionDataTypeCollection(int capacity) : base(capacity) {} + public TraceContextDataTypeCollection(int capacity) : base(capacity) {} /// - public ReferenceDescriptionDataTypeCollection(IEnumerable collection) : base(collection) {} + public TraceContextDataTypeCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReferenceDescriptionDataTypeCollection(ReferenceDescriptionDataType[] values) + public static implicit operator TraceContextDataTypeCollection(TraceContextDataType[] values) { if (values != null) { - return new ReferenceDescriptionDataTypeCollection(values); + return new TraceContextDataTypeCollection(values); } - return new ReferenceDescriptionDataTypeCollection(); + return new TraceContextDataTypeCollection(); } /// - public static explicit operator ReferenceDescriptionDataType[](ReferenceDescriptionDataTypeCollection values) + public static explicit operator TraceContextDataType[](TraceContextDataTypeCollection values) { if (values != null) { @@ -28238,18 +32114,18 @@ public static explicit operator ReferenceDescriptionDataType[](ReferenceDescript /// public object Clone() { - return (ReferenceDescriptionDataTypeCollection)this.MemberwiseClone(); + return (TraceContextDataTypeCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReferenceDescriptionDataTypeCollection clone = new ReferenceDescriptionDataTypeCollection(this.Count); + TraceContextDataTypeCollection clone = new TraceContextDataTypeCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReferenceDescriptionDataType)Utils.Clone(this[ii])); + clone.Add((TraceContextDataType)Utils.Clone(this[ii])); } return clone; @@ -28259,17 +32135,17 @@ public object Clone() #endif #endregion - #region ReferenceListEntryDataType Class - #if (!OPCUA_EXCLUDE_ReferenceListEntryDataType) + #region NameValuePair Class + #if (!OPCUA_EXCLUDE_NameValuePair) /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)] - public partial class ReferenceListEntryDataType : IEncodeable, IJsonEncodeable + public partial class NameValuePair : IEncodeable, IJsonEncodeable { #region Constructors /// - public ReferenceListEntryDataType() + public NameValuePair() { Initialize(); } @@ -28282,59 +32158,49 @@ private void Initialize(StreamingContext context) private void Initialize() { - m_referenceType = null; - m_isForward = true; - m_targetNode = null; + m_name = null; + m_value = Variant.Null; } #endregion #region Public Properties /// - [DataMember(Name = "ReferenceType", IsRequired = false, Order = 1)] - public NodeId ReferenceType - { - get { return m_referenceType; } - set { m_referenceType = value; } - } - - /// - [DataMember(Name = "IsForward", IsRequired = false, Order = 2)] - public bool IsForward + [DataMember(Name = "Name", IsRequired = false, Order = 1)] + public string Name { - get { return m_isForward; } - set { m_isForward = value; } + get { return m_name; } + set { m_name = value; } } /// - [DataMember(Name = "TargetNode", IsRequired = false, Order = 3)] - public ExpandedNodeId TargetNode + [DataMember(Name = "Value", IsRequired = false, Order = 2)] + public Variant Value { - get { return m_targetNode; } - set { m_targetNode = value; } + get { return m_value; } + set { m_value = value; } } #endregion #region IEncodeable Members /// - public virtual ExpandedNodeId TypeId => DataTypeIds.ReferenceListEntryDataType; + public virtual ExpandedNodeId TypeId => DataTypeIds.NameValuePair; /// - public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultBinary; + public virtual ExpandedNodeId BinaryEncodingId => ObjectIds.NameValuePair_Encoding_DefaultBinary; /// - public virtual ExpandedNodeId XmlEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultXml; + public virtual ExpandedNodeId XmlEncodingId => ObjectIds.NameValuePair_Encoding_DefaultXml; /// - public virtual ExpandedNodeId JsonEncodingId => ObjectIds.ReferenceListEntryDataType_Encoding_DefaultJson; + public virtual ExpandedNodeId JsonEncodingId => ObjectIds.NameValuePair_Encoding_DefaultJson; /// public virtual void Encode(IEncoder encoder) { encoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - encoder.WriteNodeId("ReferenceType", ReferenceType); - encoder.WriteBoolean("IsForward", IsForward); - encoder.WriteExpandedNodeId("TargetNode", TargetNode); + encoder.WriteString("Name", Name); + encoder.WriteVariant("Value", Value); encoder.PopNamespace(); } @@ -28344,9 +32210,8 @@ public virtual void Decode(IDecoder decoder) { decoder.PushNamespace(Opc.Ua.Namespaces.OpcUaXsd); - ReferenceType = decoder.ReadNodeId("ReferenceType"); - IsForward = decoder.ReadBoolean("IsForward"); - TargetNode = decoder.ReadExpandedNodeId("TargetNode"); + Name = decoder.ReadString("Name"); + Value = decoder.ReadVariant("Value"); decoder.PopNamespace(); } @@ -28359,16 +32224,15 @@ public virtual bool IsEqual(IEncodeable encodeable) return true; } - ReferenceListEntryDataType value = encodeable as ReferenceListEntryDataType; + NameValuePair value = encodeable as NameValuePair; if (value == null) { return false; } - if (!Utils.IsEqual(m_referenceType, value.m_referenceType)) return false; - if (!Utils.IsEqual(m_isForward, value.m_isForward)) return false; - if (!Utils.IsEqual(m_targetNode, value.m_targetNode)) return false; + if (!Utils.IsEqual(m_name, value.m_name)) return false; + if (!Utils.IsEqual(m_value, value.m_value)) return false; return true; } @@ -28376,61 +32240,59 @@ public virtual bool IsEqual(IEncodeable encodeable) /// public virtual object Clone() { - return (ReferenceListEntryDataType)this.MemberwiseClone(); + return (NameValuePair)this.MemberwiseClone(); } /// public new object MemberwiseClone() { - ReferenceListEntryDataType clone = (ReferenceListEntryDataType)base.MemberwiseClone(); + NameValuePair clone = (NameValuePair)base.MemberwiseClone(); - clone.m_referenceType = (NodeId)Utils.Clone(this.m_referenceType); - clone.m_isForward = (bool)Utils.Clone(this.m_isForward); - clone.m_targetNode = (ExpandedNodeId)Utils.Clone(this.m_targetNode); + clone.m_name = (string)Utils.Clone(this.m_name); + clone.m_value = (Variant)Utils.Clone(this.m_value); return clone; } #endregion #region Private Fields - private NodeId m_referenceType; - private bool m_isForward; - private ExpandedNodeId m_targetNode; + private string m_name; + private Variant m_value; #endregion } - #region ReferenceListEntryDataTypeCollection Class + #region NameValuePairCollection Class /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] - [CollectionDataContract(Name = "ListOfReferenceListEntryDataType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ReferenceListEntryDataType")] - public partial class ReferenceListEntryDataTypeCollection : List, ICloneable + [CollectionDataContract(Name = "ListOfNameValuePair", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "NameValuePair")] + public partial class NameValuePairCollection : List, ICloneable { #region Constructors /// - public ReferenceListEntryDataTypeCollection() {} + public NameValuePairCollection() {} /// - public ReferenceListEntryDataTypeCollection(int capacity) : base(capacity) {} + public NameValuePairCollection(int capacity) : base(capacity) {} /// - public ReferenceListEntryDataTypeCollection(IEnumerable collection) : base(collection) {} + public NameValuePairCollection(IEnumerable collection) : base(collection) {} #endregion #region Static Operators /// - public static implicit operator ReferenceListEntryDataTypeCollection(ReferenceListEntryDataType[] values) + public static implicit operator NameValuePairCollection(NameValuePair[] values) { if (values != null) { - return new ReferenceListEntryDataTypeCollection(values); + return new NameValuePairCollection(values); } - return new ReferenceListEntryDataTypeCollection(); + return new NameValuePairCollection(); } /// - public static explicit operator ReferenceListEntryDataType[](ReferenceListEntryDataTypeCollection values) + public static explicit operator NameValuePair[](NameValuePairCollection values) { if (values != null) { @@ -28445,18 +32307,118 @@ public static explicit operator ReferenceListEntryDataType[](ReferenceListEntryD /// public object Clone() { - return (ReferenceListEntryDataTypeCollection)this.MemberwiseClone(); + return (NameValuePairCollection)this.MemberwiseClone(); } #endregion /// public new object MemberwiseClone() { - ReferenceListEntryDataTypeCollection clone = new ReferenceListEntryDataTypeCollection(this.Count); + NameValuePairCollection clone = new NameValuePairCollection(this.Count); for (int ii = 0; ii < this.Count; ii++) { - clone.Add((ReferenceListEntryDataType)Utils.Clone(this[ii])); + clone.Add((NameValuePair)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion + #endif + #endregion + + #region LogRecordMask Enumeration + #if (!OPCUA_EXCLUDE_LogRecordMask) + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)][Flags] + public enum LogRecordMask : UInt32 + { + /// + [EnumMember(Value = "None_0")] + None = 0, + + /// + [EnumMember(Value = "EventType_1")] + EventType = 1, + + /// + [EnumMember(Value = "SourceNode_2")] + SourceNode = 2, + + /// + [EnumMember(Value = "SourceName_4")] + SourceName = 4, + + /// + [EnumMember(Value = "TraceContext_8")] + TraceContext = 8, + + /// + [EnumMember(Value = "AdditionalData_16")] + AdditionalData = 16, + } + + #region LogRecordMaskCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfLogRecordMask", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "LogRecordMask")] + public partial class LogRecordMaskCollection : List, ICloneable + { + #region Constructors + /// + public LogRecordMaskCollection() {} + + /// + public LogRecordMaskCollection(int capacity) : base(capacity) {} + + /// + public LogRecordMaskCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator LogRecordMaskCollection(LogRecordMask[] values) + { + if (values != null) + { + return new LogRecordMaskCollection(values); + } + + return new LogRecordMaskCollection(); + } + + /// + public static explicit operator LogRecordMask[](LogRecordMaskCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (LogRecordMaskCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + LogRecordMaskCollection clone = new LogRecordMaskCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((LogRecordMask)Utils.Clone(this[ii])); } return clone; @@ -71604,6 +75566,71 @@ public virtual object Clone() private double m_high; #endregion } + + #region RangeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfRange", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "Range")] + public partial class RangeCollection : List, ICloneable + { + #region Constructors + /// + public RangeCollection() {} + + /// + public RangeCollection(int capacity) : base(capacity) {} + + /// + public RangeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator RangeCollection(Range[] values) + { + if (values != null) + { + return new RangeCollection(values); + } + + return new RangeCollection(); + } + + /// + public static explicit operator Range[](RangeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (RangeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + RangeCollection clone = new RangeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((Range)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -71760,6 +75787,71 @@ public virtual object Clone() private LocalizedText m_description; #endregion } + + #region EUInformationCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfEUInformation", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "EUInformation")] + public partial class EUInformationCollection : List, ICloneable + { + #region Constructors + /// + public EUInformationCollection() {} + + /// + public EUInformationCollection(int capacity) : base(capacity) {} + + /// + public EUInformationCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator EUInformationCollection(EUInformation[] values) + { + if (values != null) + { + return new EUInformationCollection(values); + } + + return new EUInformationCollection(); + } + + /// + public static explicit operator EUInformation[](EUInformationCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (EUInformationCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + EUInformationCollection clone = new EUInformationCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((EUInformation)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -71783,6 +75875,71 @@ public enum AxisScaleEnumeration [EnumMember(Value = "Ln_2")] Ln = 2, } + + #region AxisScaleEnumerationCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfAxisScaleEnumeration", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "AxisScaleEnumeration")] + public partial class AxisScaleEnumerationCollection : List, ICloneable + { + #region Constructors + /// + public AxisScaleEnumerationCollection() {} + + /// + public AxisScaleEnumerationCollection(int capacity) : base(capacity) {} + + /// + public AxisScaleEnumerationCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator AxisScaleEnumerationCollection(AxisScaleEnumeration[] values) + { + if (values != null) + { + return new AxisScaleEnumerationCollection(values); + } + + return new AxisScaleEnumerationCollection(); + } + + /// + public static explicit operator AxisScaleEnumeration[](AxisScaleEnumerationCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (AxisScaleEnumerationCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + AxisScaleEnumerationCollection clone = new AxisScaleEnumerationCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((AxisScaleEnumeration)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -71911,6 +76068,71 @@ public virtual object Clone() private float m_imaginary; #endregion } + + #region ComplexNumberTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfComplexNumberType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "ComplexNumberType")] + public partial class ComplexNumberTypeCollection : List, ICloneable + { + #region Constructors + /// + public ComplexNumberTypeCollection() {} + + /// + public ComplexNumberTypeCollection(int capacity) : base(capacity) {} + + /// + public ComplexNumberTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator ComplexNumberTypeCollection(ComplexNumberType[] values) + { + if (values != null) + { + return new ComplexNumberTypeCollection(values); + } + + return new ComplexNumberTypeCollection(); + } + + /// + public static explicit operator ComplexNumberType[](ComplexNumberTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (ComplexNumberTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + ComplexNumberTypeCollection clone = new ComplexNumberTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((ComplexNumberType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -72039,6 +76261,71 @@ public virtual object Clone() private double m_imaginary; #endregion } + + #region DoubleComplexNumberTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfDoubleComplexNumberType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "DoubleComplexNumberType")] + public partial class DoubleComplexNumberTypeCollection : List, ICloneable + { + #region Constructors + /// + public DoubleComplexNumberTypeCollection() {} + + /// + public DoubleComplexNumberTypeCollection(int capacity) : base(capacity) {} + + /// + public DoubleComplexNumberTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator DoubleComplexNumberTypeCollection(DoubleComplexNumberType[] values) + { + if (values != null) + { + return new DoubleComplexNumberTypeCollection(values); + } + + return new DoubleComplexNumberTypeCollection(); + } + + /// + public static explicit operator DoubleComplexNumberType[](DoubleComplexNumberTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (DoubleComplexNumberTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + DoubleComplexNumberTypeCollection clone = new DoubleComplexNumberTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((DoubleComplexNumberType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -72245,6 +76532,71 @@ public virtual object Clone() private DoubleCollection m_axisSteps; #endregion } + + #region AxisInformationCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfAxisInformation", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "AxisInformation")] + public partial class AxisInformationCollection : List, ICloneable + { + #region Constructors + /// + public AxisInformationCollection() {} + + /// + public AxisInformationCollection(int capacity) : base(capacity) {} + + /// + public AxisInformationCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator AxisInformationCollection(AxisInformation[] values) + { + if (values != null) + { + return new AxisInformationCollection(values); + } + + return new AxisInformationCollection(); + } + + /// + public static explicit operator AxisInformation[](AxisInformationCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (AxisInformationCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + AxisInformationCollection clone = new AxisInformationCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((AxisInformation)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion @@ -72373,6 +76725,71 @@ public virtual object Clone() private float m_value; #endregion } + + #region XVTypeCollection Class + /// + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] + [CollectionDataContract(Name = "ListOfXVType", Namespace = Opc.Ua.Namespaces.OpcUaXsd, ItemName = "XVType")] + public partial class XVTypeCollection : List, ICloneable + { + #region Constructors + /// + public XVTypeCollection() {} + + /// + public XVTypeCollection(int capacity) : base(capacity) {} + + /// + public XVTypeCollection(IEnumerable collection) : base(collection) {} + #endregion + + #region Static Operators + /// + public static implicit operator XVTypeCollection(XVType[] values) + { + if (values != null) + { + return new XVTypeCollection(values); + } + + return new XVTypeCollection(); + } + + /// + public static explicit operator XVType[](XVTypeCollection values) + { + if (values != null) + { + return values.ToArray(); + } + + return null; + } + #endregion + + #region ICloneable Methods + /// + public object Clone() + { + return (XVTypeCollection)this.MemberwiseClone(); + } + #endregion + + /// + public new object MemberwiseClone() + { + XVTypeCollection clone = new XVTypeCollection(this.Count); + + for (int ii = 0; ii < this.Count; ii++) + { + clone.Add((XVType)Utils.Clone(this[ii])); + } + + return clone; + } + } + #endregion #endif #endregion diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Endpoints.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Endpoints.cs index f02592fa86..8e47215a71 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Endpoints.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Endpoints.cs @@ -39,6 +39,7 @@ #endif #if (NET_STANDARD_ASYNC) +using System.Threading; using System.Threading.Tasks; #endif @@ -209,7 +210,36 @@ public virtual FindServersResponseMessage EndFindServers(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service. + /// + public async Task FindServersAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + FindServersResponse response = null; + + try + { + OnRequestReceived(incoming); + + FindServersRequest request = (FindServersRequest)incoming; + + response = await ServerInstance.FindServersAsync( + request.RequestHeader, + request.EndpointUrl, + request.LocaleIds, + request.ServerUris,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -324,7 +354,36 @@ public virtual FindServersOnNetworkResponseMessage EndFindServersOnNetwork(IAsyn throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service. + /// + public async Task FindServersOnNetworkAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + FindServersOnNetworkResponse response = null; + + try + { + OnRequestReceived(incoming); + + FindServersOnNetworkRequest request = (FindServersOnNetworkRequest)incoming; + + response = await ServerInstance.FindServersOnNetworkAsync( + request.RequestHeader, + request.StartingRecordId, + request.MaxRecordsToReturn, + request.ServerCapabilityFilter,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -436,7 +495,36 @@ public virtual GetEndpointsResponseMessage EndGetEndpoints(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service. + /// + public async Task GetEndpointsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + GetEndpointsResponse response = null; + + try + { + OnRequestReceived(incoming); + + GetEndpointsRequest request = (GetEndpointsRequest)incoming; + response = await ServerInstance.GetEndpointsAsync( + request.RequestHeader, + request.EndpointUrl, + request.LocaleIds, + request.ProfileUris,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -577,7 +665,41 @@ public virtual CreateSessionResponseMessage EndCreateSession(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_CreateSession_ASYNC) + /// + /// Invokes the CreateSession service. + /// + public async Task CreateSessionAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CreateSessionResponse response = null; + + try + { + OnRequestReceived(incoming); + + CreateSessionRequest request = (CreateSessionRequest)incoming; + + response = await ServerInstance.CreateSessionAsync( + request.RequestHeader, + request.ClientDescription, + request.ServerUri, + request.EndpointUrl, + request.SessionName, + request.ClientNonce, + request.ClientCertificate, + request.RequestedSessionTimeout, + request.MaxResponseMessageSize,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -697,7 +819,38 @@ public virtual ActivateSessionResponseMessage EndActivateSession(IAsyncResult ar throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_ActivateSession_ASYNC) + /// + /// Invokes the ActivateSession service. + /// + public async Task ActivateSessionAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + ActivateSessionResponse response = null; + + try + { + OnRequestReceived(incoming); + + ActivateSessionRequest request = (ActivateSessionRequest)incoming; + + response = await ServerInstance.ActivateSessionAsync( + request.RequestHeader, + request.ClientSignature, + request.ClientSoftwareCertificates, + request.LocaleIds, + request.UserIdentityToken, + request.UserTokenSignature,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -804,7 +957,34 @@ public virtual CloseSessionResponseMessage EndCloseSession(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_CloseSession_ASYNC) + /// + /// Invokes the CloseSession service. + /// + public async Task CloseSessionAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CloseSessionResponse response = null; + + try + { + OnRequestReceived(incoming); + CloseSessionRequest request = (CloseSessionRequest)incoming; + + response = await ServerInstance.CloseSessionAsync( + request.RequestHeader, + request.DeleteSubscriptions,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -914,7 +1094,34 @@ public virtual CancelResponseMessage EndCancel(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_Cancel_ASYNC) + /// + /// Invokes the Cancel service. + /// + public async Task CancelAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CancelResponse response = null; + + try + { + OnRequestReceived(incoming); + + CancelRequest request = (CancelRequest)incoming; + + response = await ServerInstance.CancelAsync( + request.RequestHeader, + request.RequestHandle,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -1027,7 +1234,34 @@ public virtual AddNodesResponseMessage EndAddNodes(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_AddNodes_ASYNC) + /// + /// Invokes the AddNodes service. + /// + public async Task AddNodesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + AddNodesResponse response = null; + + try + { + OnRequestReceived(incoming); + + AddNodesRequest request = (AddNodesRequest)incoming; + response = await ServerInstance.AddNodesAsync( + request.RequestHeader, + request.NodesToAdd,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1140,7 +1374,34 @@ public virtual AddReferencesResponseMessage EndAddReferences(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_AddReferences_ASYNC) + /// + /// Invokes the AddReferences service. + /// + public async Task AddReferencesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + AddReferencesResponse response = null; + + try + { + OnRequestReceived(incoming); + + AddReferencesRequest request = (AddReferencesRequest)incoming; + + response = await ServerInstance.AddReferencesAsync( + request.RequestHeader, + request.ReferencesToAdd,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -1253,7 +1514,34 @@ public virtual DeleteNodesResponseMessage EndDeleteNodes(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_DeleteNodes_ASYNC) + /// + /// Invokes the DeleteNodes service. + /// + public async Task DeleteNodesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + DeleteNodesResponse response = null; + + try + { + OnRequestReceived(incoming); + + DeleteNodesRequest request = (DeleteNodesRequest)incoming; + + response = await ServerInstance.DeleteNodesAsync( + request.RequestHeader, + request.NodesToDelete,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1366,17 +1654,44 @@ public virtual DeleteReferencesResponseMessage EndDeleteReferences(IAsyncResult throw fault; } } - - #endif #endif - #endregion - #region Browse Service - #if (!OPCUA_EXCLUDE_Browse) + #if (!OPCUA_EXCLUDE_DeleteReferences_ASYNC) /// - /// Invokes the Browse service. + /// Invokes the DeleteReferences service. /// - public IServiceResponse Browse(IServiceRequest incoming) + public async Task DeleteReferencesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + DeleteReferencesResponse response = null; + + try + { + OnRequestReceived(incoming); + + DeleteReferencesRequest request = (DeleteReferencesRequest)incoming; + + response = await ServerInstance.DeleteReferencesAsync( + request.RequestHeader, + request.ReferencesToDelete,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } + #endif + #endif + #endregion + + #region Browse Service + #if (!OPCUA_EXCLUDE_Browse) + /// + /// Invokes the Browse service. + /// + public IServiceResponse Browse(IServiceRequest incoming) { BrowseResponse response = null; @@ -1481,7 +1796,36 @@ public virtual BrowseResponseMessage EndBrowse(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_Browse_ASYNC) + /// + /// Invokes the Browse service. + /// + public async Task BrowseAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + BrowseResponse response = null; + + try + { + OnRequestReceived(incoming); + + BrowseRequest request = (BrowseRequest)incoming; + + response = await ServerInstance.BrowseAsync( + request.RequestHeader, + request.View, + request.RequestedMaxReferencesPerNode, + request.NodesToBrowse,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1595,7 +1939,35 @@ public virtual BrowseNextResponseMessage EndBrowseNext(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_BrowseNext_ASYNC) + /// + /// Invokes the BrowseNext service. + /// + public async Task BrowseNextAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + BrowseNextResponse response = null; + + try + { + OnRequestReceived(incoming); + + BrowseNextRequest request = (BrowseNextRequest)incoming; + + response = await ServerInstance.BrowseNextAsync( + request.RequestHeader, + request.ReleaseContinuationPoints, + request.ContinuationPoints,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1708,7 +2080,34 @@ public virtual TranslateBrowsePathsToNodeIdsResponseMessage EndTranslateBrowsePa throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds_ASYNC) + /// + /// Invokes the TranslateBrowsePathsToNodeIds service. + /// + public async Task TranslateBrowsePathsToNodeIdsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + TranslateBrowsePathsToNodeIdsResponse response = null; + + try + { + OnRequestReceived(incoming); + + TranslateBrowsePathsToNodeIdsRequest request = (TranslateBrowsePathsToNodeIdsRequest)incoming; + + response = await ServerInstance.TranslateBrowsePathsToNodeIdsAsync( + request.RequestHeader, + request.BrowsePaths,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1818,7 +2217,34 @@ public virtual RegisterNodesResponseMessage EndRegisterNodes(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_RegisterNodes_ASYNC) + /// + /// Invokes the RegisterNodes service. + /// + public async Task RegisterNodesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + RegisterNodesResponse response = null; + try + { + OnRequestReceived(incoming); + + RegisterNodesRequest request = (RegisterNodesRequest)incoming; + + response = await ServerInstance.RegisterNodesAsync( + request.RequestHeader, + request.NodesToRegister,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -1925,7 +2351,34 @@ public virtual UnregisterNodesResponseMessage EndUnregisterNodes(IAsyncResult ar throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_UnregisterNodes_ASYNC) + /// + /// Invokes the UnregisterNodes service. + /// + public async Task UnregisterNodesAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + UnregisterNodesResponse response = null; + + try + { + OnRequestReceived(incoming); + + UnregisterNodesRequest request = (UnregisterNodesRequest)incoming; + + response = await ServerInstance.UnregisterNodesAsync( + request.RequestHeader, + request.NodesToUnregister,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2051,7 +2504,38 @@ public virtual QueryFirstResponseMessage EndQueryFirst(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_QueryFirst_ASYNC) + /// + /// Invokes the QueryFirst service. + /// + public async Task QueryFirstAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + QueryFirstResponse response = null; + + try + { + OnRequestReceived(incoming); + + QueryFirstRequest request = (QueryFirstRequest)incoming; + + response = await ServerInstance.QueryFirstAsync( + request.RequestHeader, + request.View, + request.NodeTypes, + request.Filter, + request.MaxDataSetsToReturn, + request.MaxReferencesToReturn,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2165,7 +2649,35 @@ public virtual QueryNextResponseMessage EndQueryNext(IAsyncResult ar) throw fault; } } + #endif + #if (!OPCUA_EXCLUDE_QueryNext_ASYNC) + /// + /// Invokes the QueryNext service. + /// + public async Task QueryNextAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + QueryNextResponse response = null; + + try + { + OnRequestReceived(incoming); + + QueryNextRequest request = (QueryNextRequest)incoming; + + response = await ServerInstance.QueryNextAsync( + request.RequestHeader, + request.ReleaseContinuationPoint, + request.ContinuationPoint,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2280,7 +2792,36 @@ public virtual ReadResponseMessage EndRead(IAsyncResult ar) throw fault; } } + #endif + #if (!OPCUA_EXCLUDE_Read_ASYNC) + /// + /// Invokes the Read service. + /// + public async Task ReadAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + ReadResponse response = null; + + try + { + OnRequestReceived(incoming); + + ReadRequest request = (ReadRequest)incoming; + + response = await ServerInstance.ReadAsync( + request.RequestHeader, + request.MaxAge, + request.TimestampsToReturn, + request.NodesToRead,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2396,7 +2937,37 @@ public virtual HistoryReadResponseMessage EndHistoryRead(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_HistoryRead_ASYNC) + /// + /// Invokes the HistoryRead service. + /// + public async Task HistoryReadAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + HistoryReadResponse response = null; + + try + { + OnRequestReceived(incoming); + + HistoryReadRequest request = (HistoryReadRequest)incoming; + + response = await ServerInstance.HistoryReadAsync( + request.RequestHeader, + request.HistoryReadDetails, + request.TimestampsToReturn, + request.ReleaseContinuationPoints, + request.NodesToRead,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -2509,7 +3080,34 @@ public virtual WriteResponseMessage EndWrite(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_Write_ASYNC) + /// + /// Invokes the Write service. + /// + public async Task WriteAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + WriteResponse response = null; + + try + { + OnRequestReceived(incoming); + + WriteRequest request = (WriteRequest)incoming; + response = await ServerInstance.WriteAsync( + request.RequestHeader, + request.NodesToWrite,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2622,7 +3220,34 @@ public virtual HistoryUpdateResponseMessage EndHistoryUpdate(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_HistoryUpdate_ASYNC) + /// + /// Invokes the HistoryUpdate service. + /// + public async Task HistoryUpdateAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + HistoryUpdateResponse response = null; + + try + { + OnRequestReceived(incoming); + + HistoryUpdateRequest request = (HistoryUpdateRequest)incoming; + + response = await ServerInstance.HistoryUpdateAsync( + request.RequestHeader, + request.HistoryUpdateDetails,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -2735,7 +3360,34 @@ public virtual CallResponseMessage EndCall(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_Call_ASYNC) + /// + /// Invokes the Call service. + /// + public async Task CallAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CallResponse response = null; + try + { + OnRequestReceived(incoming); + + CallRequest request = (CallRequest)incoming; + + response = await ServerInstance.CallAsync( + request.RequestHeader, + request.MethodsToCall,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2850,7 +3502,36 @@ public virtual CreateMonitoredItemsResponseMessage EndCreateMonitoredItems(IAsyn throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_CreateMonitoredItems_ASYNC) + /// + /// Invokes the CreateMonitoredItems service. + /// + public async Task CreateMonitoredItemsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CreateMonitoredItemsResponse response = null; + try + { + OnRequestReceived(incoming); + + CreateMonitoredItemsRequest request = (CreateMonitoredItemsRequest)incoming; + + response = await ServerInstance.CreateMonitoredItemsAsync( + request.RequestHeader, + request.SubscriptionId, + request.TimestampsToReturn, + request.ItemsToCreate,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -2965,7 +3646,36 @@ public virtual ModifyMonitoredItemsResponseMessage EndModifyMonitoredItems(IAsyn throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_ModifyMonitoredItems_ASYNC) + /// + /// Invokes the ModifyMonitoredItems service. + /// + public async Task ModifyMonitoredItemsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + ModifyMonitoredItemsResponse response = null; + + try + { + OnRequestReceived(incoming); + + ModifyMonitoredItemsRequest request = (ModifyMonitoredItemsRequest)incoming; + + response = await ServerInstance.ModifyMonitoredItemsAsync( + request.RequestHeader, + request.SubscriptionId, + request.TimestampsToReturn, + request.ItemsToModify,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -3080,7 +3790,36 @@ public virtual SetMonitoringModeResponseMessage EndSetMonitoringMode(IAsyncResul throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_SetMonitoringMode_ASYNC) + /// + /// Invokes the SetMonitoringMode service. + /// + public async Task SetMonitoringModeAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + SetMonitoringModeResponse response = null; + + try + { + OnRequestReceived(incoming); + + SetMonitoringModeRequest request = (SetMonitoringModeRequest)incoming; + + response = await ServerInstance.SetMonitoringModeAsync( + request.RequestHeader, + request.SubscriptionId, + request.MonitoringMode, + request.MonitoredItemIds,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -3202,7 +3941,37 @@ public virtual SetTriggeringResponseMessage EndSetTriggering(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_SetTriggering_ASYNC) + /// + /// Invokes the SetTriggering service. + /// + public async Task SetTriggeringAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + SetTriggeringResponse response = null; + + try + { + OnRequestReceived(incoming); + + SetTriggeringRequest request = (SetTriggeringRequest)incoming; + + response = await ServerInstance.SetTriggeringAsync( + request.RequestHeader, + request.SubscriptionId, + request.TriggeringItemId, + request.LinksToAdd, + request.LinksToRemove,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -3316,7 +4085,35 @@ public virtual DeleteMonitoredItemsResponseMessage EndDeleteMonitoredItems(IAsyn throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_DeleteMonitoredItems_ASYNC) + /// + /// Invokes the DeleteMonitoredItems service. + /// + public async Task DeleteMonitoredItemsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + DeleteMonitoredItemsResponse response = null; + + try + { + OnRequestReceived(incoming); + + DeleteMonitoredItemsRequest request = (DeleteMonitoredItemsRequest)incoming; + response = await ServerInstance.DeleteMonitoredItemsAsync( + request.RequestHeader, + request.SubscriptionId, + request.MonitoredItemIds,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -3440,7 +4237,39 @@ public virtual CreateSubscriptionResponseMessage EndCreateSubscription(IAsyncRes throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_CreateSubscription_ASYNC) + /// + /// Invokes the CreateSubscription service. + /// + public async Task CreateSubscriptionAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + CreateSubscriptionResponse response = null; + + try + { + OnRequestReceived(incoming); + + CreateSubscriptionRequest request = (CreateSubscriptionRequest)incoming; + + response = await ServerInstance.CreateSubscriptionAsync( + request.RequestHeader, + request.RequestedPublishingInterval, + request.RequestedLifetimeCount, + request.RequestedMaxKeepAliveCount, + request.MaxNotificationsPerPublish, + request.PublishingEnabled, + request.Priority,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -3554,14 +4383,46 @@ public virtual ModifySubscriptionResponseMessage EndModifySubscription(IAsyncRes OnResponseSent(response); return new ModifySubscriptionResponseMessage((ModifySubscriptionResponse)response); } - catch (Exception e) + catch (Exception e) + { + Exception fault = CreateSoapFault(ProcessRequestAsyncResult.GetRequest(ar), e); + OnResponseFaultSent(fault); + throw fault; + } + } + #endif + + #if (!OPCUA_EXCLUDE_ModifySubscription_ASYNC) + /// + /// Invokes the ModifySubscription service. + /// + public async Task ModifySubscriptionAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + ModifySubscriptionResponse response = null; + + try + { + OnRequestReceived(incoming); + + ModifySubscriptionRequest request = (ModifySubscriptionRequest)incoming; + + response = await ServerInstance.ModifySubscriptionAsync( + request.RequestHeader, + request.SubscriptionId, + request.RequestedPublishingInterval, + request.RequestedLifetimeCount, + request.RequestedMaxKeepAliveCount, + request.MaxNotificationsPerPublish, + request.Priority,cancellationToken).ConfigureAwait(false); + + } + finally { - Exception fault = CreateSoapFault(ProcessRequestAsyncResult.GetRequest(ar), e); - OnResponseFaultSent(fault); - throw fault; + OnResponseSent(response); } - } + return response; + } #endif #endif #endregion @@ -3675,7 +4536,35 @@ public virtual SetPublishingModeResponseMessage EndSetPublishingMode(IAsyncResul throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_SetPublishingMode_ASYNC) + /// + /// Invokes the SetPublishingMode service. + /// + public async Task SetPublishingModeAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + SetPublishingModeResponse response = null; + + try + { + OnRequestReceived(incoming); + + SetPublishingModeRequest request = (SetPublishingModeRequest)incoming; + + response = await ServerInstance.SetPublishingModeAsync( + request.RequestHeader, + request.PublishingEnabled, + request.SubscriptionIds,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -3800,7 +4689,34 @@ public virtual PublishResponseMessage EndPublish(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_Publish_ASYNC) + /// + /// Invokes the Publish service. + /// + public async Task PublishAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + PublishResponse response = null; + + try + { + OnRequestReceived(incoming); + + PublishRequest request = (PublishRequest)incoming; + + response = await ServerInstance.PublishAsync( + request.RequestHeader, + request.SubscriptionAcknowledgements,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -3911,7 +4827,35 @@ public virtual RepublishResponseMessage EndRepublish(IAsyncResult ar) throw fault; } } + #endif + #if (!OPCUA_EXCLUDE_Republish_ASYNC) + /// + /// Invokes the Republish service. + /// + public async Task RepublishAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + RepublishResponse response = null; + + try + { + OnRequestReceived(incoming); + + RepublishRequest request = (RepublishRequest)incoming; + + response = await ServerInstance.RepublishAsync( + request.RequestHeader, + request.SubscriptionId, + request.RetransmitSequenceNumber,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -4025,7 +4969,35 @@ public virtual TransferSubscriptionsResponseMessage EndTransferSubscriptions(IAs throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_TransferSubscriptions_ASYNC) + /// + /// Invokes the TransferSubscriptions service. + /// + public async Task TransferSubscriptionsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + TransferSubscriptionsResponse response = null; + + try + { + OnRequestReceived(incoming); + + TransferSubscriptionsRequest request = (TransferSubscriptionsRequest)incoming; + + response = await ServerInstance.TransferSubscriptionsAsync( + request.RequestHeader, + request.SubscriptionIds, + request.SendInitialValues,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -4138,7 +5110,34 @@ public virtual DeleteSubscriptionsResponseMessage EndDeleteSubscriptions(IAsyncR throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_DeleteSubscriptions_ASYNC) + /// + /// Invokes the DeleteSubscriptions service. + /// + public async Task DeleteSubscriptionsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + DeleteSubscriptionsResponse response = null; + + try + { + OnRequestReceived(incoming); + + DeleteSubscriptionsRequest request = (DeleteSubscriptionsRequest)incoming; + + response = await ServerInstance.DeleteSubscriptionsAsync( + request.RequestHeader, + request.SubscriptionIds,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -4150,109 +5149,179 @@ public virtual DeleteSubscriptionsResponseMessage EndDeleteSubscriptions(IAsyncR /// protected virtual void CreateKnownTypes() { - #if (!OPCUA_EXCLUDE_FindServers) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_FindServers && !OPCUA_EXCLUDE_FindServers_ASYNC) + SupportedServices.Add(DataTypeIds.FindServersRequest, new ServiceDefinition(typeof(FindServersRequest), new InvokeServiceEventHandler(FindServers), new InvokeServiceAsyncEventHandler(FindServersAsync))); + #elif (!OPCUA_EXCLUDE_FindServers) SupportedServices.Add(DataTypeIds.FindServersRequest, new ServiceDefinition(typeof(FindServersRequest), new InvokeServiceEventHandler(FindServers))); #endif - #if (!OPCUA_EXCLUDE_FindServersOnNetwork) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_FindServersOnNetwork && !OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + SupportedServices.Add(DataTypeIds.FindServersOnNetworkRequest, new ServiceDefinition(typeof(FindServersOnNetworkRequest), new InvokeServiceEventHandler(FindServersOnNetwork), new InvokeServiceAsyncEventHandler(FindServersOnNetworkAsync))); + #elif (!OPCUA_EXCLUDE_FindServersOnNetwork) SupportedServices.Add(DataTypeIds.FindServersOnNetworkRequest, new ServiceDefinition(typeof(FindServersOnNetworkRequest), new InvokeServiceEventHandler(FindServersOnNetwork))); #endif - #if (!OPCUA_EXCLUDE_GetEndpoints) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_GetEndpoints && !OPCUA_EXCLUDE_GetEndpoints_ASYNC) + SupportedServices.Add(DataTypeIds.GetEndpointsRequest, new ServiceDefinition(typeof(GetEndpointsRequest), new InvokeServiceEventHandler(GetEndpoints), new InvokeServiceAsyncEventHandler(GetEndpointsAsync))); + #elif (!OPCUA_EXCLUDE_GetEndpoints) SupportedServices.Add(DataTypeIds.GetEndpointsRequest, new ServiceDefinition(typeof(GetEndpointsRequest), new InvokeServiceEventHandler(GetEndpoints))); #endif - #if (!OPCUA_EXCLUDE_CreateSession) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_CreateSession && !OPCUA_EXCLUDE_CreateSession_ASYNC) + SupportedServices.Add(DataTypeIds.CreateSessionRequest, new ServiceDefinition(typeof(CreateSessionRequest), new InvokeServiceEventHandler(CreateSession), new InvokeServiceAsyncEventHandler(CreateSessionAsync))); + #elif (!OPCUA_EXCLUDE_CreateSession) SupportedServices.Add(DataTypeIds.CreateSessionRequest, new ServiceDefinition(typeof(CreateSessionRequest), new InvokeServiceEventHandler(CreateSession))); #endif - #if (!OPCUA_EXCLUDE_ActivateSession) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_ActivateSession && !OPCUA_EXCLUDE_ActivateSession_ASYNC) + SupportedServices.Add(DataTypeIds.ActivateSessionRequest, new ServiceDefinition(typeof(ActivateSessionRequest), new InvokeServiceEventHandler(ActivateSession), new InvokeServiceAsyncEventHandler(ActivateSessionAsync))); + #elif (!OPCUA_EXCLUDE_ActivateSession) SupportedServices.Add(DataTypeIds.ActivateSessionRequest, new ServiceDefinition(typeof(ActivateSessionRequest), new InvokeServiceEventHandler(ActivateSession))); #endif - #if (!OPCUA_EXCLUDE_CloseSession) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_CloseSession && !OPCUA_EXCLUDE_CloseSession_ASYNC) + SupportedServices.Add(DataTypeIds.CloseSessionRequest, new ServiceDefinition(typeof(CloseSessionRequest), new InvokeServiceEventHandler(CloseSession), new InvokeServiceAsyncEventHandler(CloseSessionAsync))); + #elif (!OPCUA_EXCLUDE_CloseSession) SupportedServices.Add(DataTypeIds.CloseSessionRequest, new ServiceDefinition(typeof(CloseSessionRequest), new InvokeServiceEventHandler(CloseSession))); #endif - #if (!OPCUA_EXCLUDE_Cancel) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Cancel && !OPCUA_EXCLUDE_Cancel_ASYNC) + SupportedServices.Add(DataTypeIds.CancelRequest, new ServiceDefinition(typeof(CancelRequest), new InvokeServiceEventHandler(Cancel), new InvokeServiceAsyncEventHandler(CancelAsync))); + #elif (!OPCUA_EXCLUDE_Cancel) SupportedServices.Add(DataTypeIds.CancelRequest, new ServiceDefinition(typeof(CancelRequest), new InvokeServiceEventHandler(Cancel))); #endif - #if (!OPCUA_EXCLUDE_AddNodes) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_AddNodes && !OPCUA_EXCLUDE_AddNodes_ASYNC) + SupportedServices.Add(DataTypeIds.AddNodesRequest, new ServiceDefinition(typeof(AddNodesRequest), new InvokeServiceEventHandler(AddNodes), new InvokeServiceAsyncEventHandler(AddNodesAsync))); + #elif (!OPCUA_EXCLUDE_AddNodes) SupportedServices.Add(DataTypeIds.AddNodesRequest, new ServiceDefinition(typeof(AddNodesRequest), new InvokeServiceEventHandler(AddNodes))); #endif - #if (!OPCUA_EXCLUDE_AddReferences) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_AddReferences && !OPCUA_EXCLUDE_AddReferences_ASYNC) + SupportedServices.Add(DataTypeIds.AddReferencesRequest, new ServiceDefinition(typeof(AddReferencesRequest), new InvokeServiceEventHandler(AddReferences), new InvokeServiceAsyncEventHandler(AddReferencesAsync))); + #elif (!OPCUA_EXCLUDE_AddReferences) SupportedServices.Add(DataTypeIds.AddReferencesRequest, new ServiceDefinition(typeof(AddReferencesRequest), new InvokeServiceEventHandler(AddReferences))); #endif - #if (!OPCUA_EXCLUDE_DeleteNodes) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_DeleteNodes && !OPCUA_EXCLUDE_DeleteNodes_ASYNC) + SupportedServices.Add(DataTypeIds.DeleteNodesRequest, new ServiceDefinition(typeof(DeleteNodesRequest), new InvokeServiceEventHandler(DeleteNodes), new InvokeServiceAsyncEventHandler(DeleteNodesAsync))); + #elif (!OPCUA_EXCLUDE_DeleteNodes) SupportedServices.Add(DataTypeIds.DeleteNodesRequest, new ServiceDefinition(typeof(DeleteNodesRequest), new InvokeServiceEventHandler(DeleteNodes))); #endif - #if (!OPCUA_EXCLUDE_DeleteReferences) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_DeleteReferences && !OPCUA_EXCLUDE_DeleteReferences_ASYNC) + SupportedServices.Add(DataTypeIds.DeleteReferencesRequest, new ServiceDefinition(typeof(DeleteReferencesRequest), new InvokeServiceEventHandler(DeleteReferences), new InvokeServiceAsyncEventHandler(DeleteReferencesAsync))); + #elif (!OPCUA_EXCLUDE_DeleteReferences) SupportedServices.Add(DataTypeIds.DeleteReferencesRequest, new ServiceDefinition(typeof(DeleteReferencesRequest), new InvokeServiceEventHandler(DeleteReferences))); #endif - #if (!OPCUA_EXCLUDE_Browse) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Browse && !OPCUA_EXCLUDE_Browse_ASYNC) + SupportedServices.Add(DataTypeIds.BrowseRequest, new ServiceDefinition(typeof(BrowseRequest), new InvokeServiceEventHandler(Browse), new InvokeServiceAsyncEventHandler(BrowseAsync))); + #elif (!OPCUA_EXCLUDE_Browse) SupportedServices.Add(DataTypeIds.BrowseRequest, new ServiceDefinition(typeof(BrowseRequest), new InvokeServiceEventHandler(Browse))); #endif - #if (!OPCUA_EXCLUDE_BrowseNext) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_BrowseNext && !OPCUA_EXCLUDE_BrowseNext_ASYNC) + SupportedServices.Add(DataTypeIds.BrowseNextRequest, new ServiceDefinition(typeof(BrowseNextRequest), new InvokeServiceEventHandler(BrowseNext), new InvokeServiceAsyncEventHandler(BrowseNextAsync))); + #elif (!OPCUA_EXCLUDE_BrowseNext) SupportedServices.Add(DataTypeIds.BrowseNextRequest, new ServiceDefinition(typeof(BrowseNextRequest), new InvokeServiceEventHandler(BrowseNext))); #endif - #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds && !OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds_ASYNC) + SupportedServices.Add(DataTypeIds.TranslateBrowsePathsToNodeIdsRequest, new ServiceDefinition(typeof(TranslateBrowsePathsToNodeIdsRequest), new InvokeServiceEventHandler(TranslateBrowsePathsToNodeIds), new InvokeServiceAsyncEventHandler(TranslateBrowsePathsToNodeIdsAsync))); + #elif (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) SupportedServices.Add(DataTypeIds.TranslateBrowsePathsToNodeIdsRequest, new ServiceDefinition(typeof(TranslateBrowsePathsToNodeIdsRequest), new InvokeServiceEventHandler(TranslateBrowsePathsToNodeIds))); #endif - #if (!OPCUA_EXCLUDE_RegisterNodes) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_RegisterNodes && !OPCUA_EXCLUDE_RegisterNodes_ASYNC) + SupportedServices.Add(DataTypeIds.RegisterNodesRequest, new ServiceDefinition(typeof(RegisterNodesRequest), new InvokeServiceEventHandler(RegisterNodes), new InvokeServiceAsyncEventHandler(RegisterNodesAsync))); + #elif (!OPCUA_EXCLUDE_RegisterNodes) SupportedServices.Add(DataTypeIds.RegisterNodesRequest, new ServiceDefinition(typeof(RegisterNodesRequest), new InvokeServiceEventHandler(RegisterNodes))); #endif - #if (!OPCUA_EXCLUDE_UnregisterNodes) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_UnregisterNodes && !OPCUA_EXCLUDE_UnregisterNodes_ASYNC) + SupportedServices.Add(DataTypeIds.UnregisterNodesRequest, new ServiceDefinition(typeof(UnregisterNodesRequest), new InvokeServiceEventHandler(UnregisterNodes), new InvokeServiceAsyncEventHandler(UnregisterNodesAsync))); + #elif (!OPCUA_EXCLUDE_UnregisterNodes) SupportedServices.Add(DataTypeIds.UnregisterNodesRequest, new ServiceDefinition(typeof(UnregisterNodesRequest), new InvokeServiceEventHandler(UnregisterNodes))); #endif - #if (!OPCUA_EXCLUDE_QueryFirst) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_QueryFirst && !OPCUA_EXCLUDE_QueryFirst_ASYNC) + SupportedServices.Add(DataTypeIds.QueryFirstRequest, new ServiceDefinition(typeof(QueryFirstRequest), new InvokeServiceEventHandler(QueryFirst), new InvokeServiceAsyncEventHandler(QueryFirstAsync))); + #elif (!OPCUA_EXCLUDE_QueryFirst) SupportedServices.Add(DataTypeIds.QueryFirstRequest, new ServiceDefinition(typeof(QueryFirstRequest), new InvokeServiceEventHandler(QueryFirst))); #endif - #if (!OPCUA_EXCLUDE_QueryNext) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_QueryNext && !OPCUA_EXCLUDE_QueryNext_ASYNC) + SupportedServices.Add(DataTypeIds.QueryNextRequest, new ServiceDefinition(typeof(QueryNextRequest), new InvokeServiceEventHandler(QueryNext), new InvokeServiceAsyncEventHandler(QueryNextAsync))); + #elif (!OPCUA_EXCLUDE_QueryNext) SupportedServices.Add(DataTypeIds.QueryNextRequest, new ServiceDefinition(typeof(QueryNextRequest), new InvokeServiceEventHandler(QueryNext))); #endif - #if (!OPCUA_EXCLUDE_Read) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Read && !OPCUA_EXCLUDE_Read_ASYNC) + SupportedServices.Add(DataTypeIds.ReadRequest, new ServiceDefinition(typeof(ReadRequest), new InvokeServiceEventHandler(Read), new InvokeServiceAsyncEventHandler(ReadAsync))); + #elif (!OPCUA_EXCLUDE_Read) SupportedServices.Add(DataTypeIds.ReadRequest, new ServiceDefinition(typeof(ReadRequest), new InvokeServiceEventHandler(Read))); #endif - #if (!OPCUA_EXCLUDE_HistoryRead) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_HistoryRead && !OPCUA_EXCLUDE_HistoryRead_ASYNC) + SupportedServices.Add(DataTypeIds.HistoryReadRequest, new ServiceDefinition(typeof(HistoryReadRequest), new InvokeServiceEventHandler(HistoryRead), new InvokeServiceAsyncEventHandler(HistoryReadAsync))); + #elif (!OPCUA_EXCLUDE_HistoryRead) SupportedServices.Add(DataTypeIds.HistoryReadRequest, new ServiceDefinition(typeof(HistoryReadRequest), new InvokeServiceEventHandler(HistoryRead))); #endif - #if (!OPCUA_EXCLUDE_Write) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Write && !OPCUA_EXCLUDE_Write_ASYNC) + SupportedServices.Add(DataTypeIds.WriteRequest, new ServiceDefinition(typeof(WriteRequest), new InvokeServiceEventHandler(Write), new InvokeServiceAsyncEventHandler(WriteAsync))); + #elif (!OPCUA_EXCLUDE_Write) SupportedServices.Add(DataTypeIds.WriteRequest, new ServiceDefinition(typeof(WriteRequest), new InvokeServiceEventHandler(Write))); #endif - #if (!OPCUA_EXCLUDE_HistoryUpdate) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_HistoryUpdate && !OPCUA_EXCLUDE_HistoryUpdate_ASYNC) + SupportedServices.Add(DataTypeIds.HistoryUpdateRequest, new ServiceDefinition(typeof(HistoryUpdateRequest), new InvokeServiceEventHandler(HistoryUpdate), new InvokeServiceAsyncEventHandler(HistoryUpdateAsync))); + #elif (!OPCUA_EXCLUDE_HistoryUpdate) SupportedServices.Add(DataTypeIds.HistoryUpdateRequest, new ServiceDefinition(typeof(HistoryUpdateRequest), new InvokeServiceEventHandler(HistoryUpdate))); #endif - #if (!OPCUA_EXCLUDE_Call) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Call && !OPCUA_EXCLUDE_Call_ASYNC) + SupportedServices.Add(DataTypeIds.CallRequest, new ServiceDefinition(typeof(CallRequest), new InvokeServiceEventHandler(Call), new InvokeServiceAsyncEventHandler(CallAsync))); + #elif (!OPCUA_EXCLUDE_Call) SupportedServices.Add(DataTypeIds.CallRequest, new ServiceDefinition(typeof(CallRequest), new InvokeServiceEventHandler(Call))); #endif - #if (!OPCUA_EXCLUDE_CreateMonitoredItems) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_CreateMonitoredItems && !OPCUA_EXCLUDE_CreateMonitoredItems_ASYNC) + SupportedServices.Add(DataTypeIds.CreateMonitoredItemsRequest, new ServiceDefinition(typeof(CreateMonitoredItemsRequest), new InvokeServiceEventHandler(CreateMonitoredItems), new InvokeServiceAsyncEventHandler(CreateMonitoredItemsAsync))); + #elif (!OPCUA_EXCLUDE_CreateMonitoredItems) SupportedServices.Add(DataTypeIds.CreateMonitoredItemsRequest, new ServiceDefinition(typeof(CreateMonitoredItemsRequest), new InvokeServiceEventHandler(CreateMonitoredItems))); #endif - #if (!OPCUA_EXCLUDE_ModifyMonitoredItems) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_ModifyMonitoredItems && !OPCUA_EXCLUDE_ModifyMonitoredItems_ASYNC) + SupportedServices.Add(DataTypeIds.ModifyMonitoredItemsRequest, new ServiceDefinition(typeof(ModifyMonitoredItemsRequest), new InvokeServiceEventHandler(ModifyMonitoredItems), new InvokeServiceAsyncEventHandler(ModifyMonitoredItemsAsync))); + #elif (!OPCUA_EXCLUDE_ModifyMonitoredItems) SupportedServices.Add(DataTypeIds.ModifyMonitoredItemsRequest, new ServiceDefinition(typeof(ModifyMonitoredItemsRequest), new InvokeServiceEventHandler(ModifyMonitoredItems))); #endif - #if (!OPCUA_EXCLUDE_SetMonitoringMode) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_SetMonitoringMode && !OPCUA_EXCLUDE_SetMonitoringMode_ASYNC) + SupportedServices.Add(DataTypeIds.SetMonitoringModeRequest, new ServiceDefinition(typeof(SetMonitoringModeRequest), new InvokeServiceEventHandler(SetMonitoringMode), new InvokeServiceAsyncEventHandler(SetMonitoringModeAsync))); + #elif (!OPCUA_EXCLUDE_SetMonitoringMode) SupportedServices.Add(DataTypeIds.SetMonitoringModeRequest, new ServiceDefinition(typeof(SetMonitoringModeRequest), new InvokeServiceEventHandler(SetMonitoringMode))); #endif - #if (!OPCUA_EXCLUDE_SetTriggering) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_SetTriggering && !OPCUA_EXCLUDE_SetTriggering_ASYNC) + SupportedServices.Add(DataTypeIds.SetTriggeringRequest, new ServiceDefinition(typeof(SetTriggeringRequest), new InvokeServiceEventHandler(SetTriggering), new InvokeServiceAsyncEventHandler(SetTriggeringAsync))); + #elif (!OPCUA_EXCLUDE_SetTriggering) SupportedServices.Add(DataTypeIds.SetTriggeringRequest, new ServiceDefinition(typeof(SetTriggeringRequest), new InvokeServiceEventHandler(SetTriggering))); #endif - #if (!OPCUA_EXCLUDE_DeleteMonitoredItems) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_DeleteMonitoredItems && !OPCUA_EXCLUDE_DeleteMonitoredItems_ASYNC) + SupportedServices.Add(DataTypeIds.DeleteMonitoredItemsRequest, new ServiceDefinition(typeof(DeleteMonitoredItemsRequest), new InvokeServiceEventHandler(DeleteMonitoredItems), new InvokeServiceAsyncEventHandler(DeleteMonitoredItemsAsync))); + #elif (!OPCUA_EXCLUDE_DeleteMonitoredItems) SupportedServices.Add(DataTypeIds.DeleteMonitoredItemsRequest, new ServiceDefinition(typeof(DeleteMonitoredItemsRequest), new InvokeServiceEventHandler(DeleteMonitoredItems))); #endif - #if (!OPCUA_EXCLUDE_CreateSubscription) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_CreateSubscription && !OPCUA_EXCLUDE_CreateSubscription_ASYNC) + SupportedServices.Add(DataTypeIds.CreateSubscriptionRequest, new ServiceDefinition(typeof(CreateSubscriptionRequest), new InvokeServiceEventHandler(CreateSubscription), new InvokeServiceAsyncEventHandler(CreateSubscriptionAsync))); + #elif (!OPCUA_EXCLUDE_CreateSubscription) SupportedServices.Add(DataTypeIds.CreateSubscriptionRequest, new ServiceDefinition(typeof(CreateSubscriptionRequest), new InvokeServiceEventHandler(CreateSubscription))); #endif - #if (!OPCUA_EXCLUDE_ModifySubscription) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_ModifySubscription && !OPCUA_EXCLUDE_ModifySubscription_ASYNC) + SupportedServices.Add(DataTypeIds.ModifySubscriptionRequest, new ServiceDefinition(typeof(ModifySubscriptionRequest), new InvokeServiceEventHandler(ModifySubscription), new InvokeServiceAsyncEventHandler(ModifySubscriptionAsync))); + #elif (!OPCUA_EXCLUDE_ModifySubscription) SupportedServices.Add(DataTypeIds.ModifySubscriptionRequest, new ServiceDefinition(typeof(ModifySubscriptionRequest), new InvokeServiceEventHandler(ModifySubscription))); #endif - #if (!OPCUA_EXCLUDE_SetPublishingMode) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_SetPublishingMode && !OPCUA_EXCLUDE_SetPublishingMode_ASYNC) + SupportedServices.Add(DataTypeIds.SetPublishingModeRequest, new ServiceDefinition(typeof(SetPublishingModeRequest), new InvokeServiceEventHandler(SetPublishingMode), new InvokeServiceAsyncEventHandler(SetPublishingModeAsync))); + #elif (!OPCUA_EXCLUDE_SetPublishingMode) SupportedServices.Add(DataTypeIds.SetPublishingModeRequest, new ServiceDefinition(typeof(SetPublishingModeRequest), new InvokeServiceEventHandler(SetPublishingMode))); #endif - #if (!OPCUA_EXCLUDE_Publish) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Publish && !OPCUA_EXCLUDE_Publish_ASYNC) + SupportedServices.Add(DataTypeIds.PublishRequest, new ServiceDefinition(typeof(PublishRequest), new InvokeServiceEventHandler(Publish), new InvokeServiceAsyncEventHandler(PublishAsync))); + #elif (!OPCUA_EXCLUDE_Publish) SupportedServices.Add(DataTypeIds.PublishRequest, new ServiceDefinition(typeof(PublishRequest), new InvokeServiceEventHandler(Publish))); #endif - #if (!OPCUA_EXCLUDE_Republish) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_Republish && !OPCUA_EXCLUDE_Republish_ASYNC) + SupportedServices.Add(DataTypeIds.RepublishRequest, new ServiceDefinition(typeof(RepublishRequest), new InvokeServiceEventHandler(Republish), new InvokeServiceAsyncEventHandler(RepublishAsync))); + #elif (!OPCUA_EXCLUDE_Republish) SupportedServices.Add(DataTypeIds.RepublishRequest, new ServiceDefinition(typeof(RepublishRequest), new InvokeServiceEventHandler(Republish))); #endif - #if (!OPCUA_EXCLUDE_TransferSubscriptions) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_TransferSubscriptions && !OPCUA_EXCLUDE_TransferSubscriptions_ASYNC) + SupportedServices.Add(DataTypeIds.TransferSubscriptionsRequest, new ServiceDefinition(typeof(TransferSubscriptionsRequest), new InvokeServiceEventHandler(TransferSubscriptions), new InvokeServiceAsyncEventHandler(TransferSubscriptionsAsync))); + #elif (!OPCUA_EXCLUDE_TransferSubscriptions) SupportedServices.Add(DataTypeIds.TransferSubscriptionsRequest, new ServiceDefinition(typeof(TransferSubscriptionsRequest), new InvokeServiceEventHandler(TransferSubscriptions))); #endif - #if (!OPCUA_EXCLUDE_DeleteSubscriptions) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_DeleteSubscriptions && !OPCUA_EXCLUDE_DeleteSubscriptions_ASYNC) + SupportedServices.Add(DataTypeIds.DeleteSubscriptionsRequest, new ServiceDefinition(typeof(DeleteSubscriptionsRequest), new InvokeServiceEventHandler(DeleteSubscriptions), new InvokeServiceAsyncEventHandler(DeleteSubscriptionsAsync))); + #elif (!OPCUA_EXCLUDE_DeleteSubscriptions) SupportedServices.Add(DataTypeIds.DeleteSubscriptionsRequest, new ServiceDefinition(typeof(DeleteSubscriptionsRequest), new InvokeServiceEventHandler(DeleteSubscriptions))); #endif } @@ -4425,7 +5494,36 @@ public virtual FindServersResponseMessage EndFindServers(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service. + /// + public async Task FindServersAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + FindServersResponse response = null; + + try + { + OnRequestReceived(incoming); + + FindServersRequest request = (FindServersRequest)incoming; + + response = await ServerInstance.FindServersAsync( + request.RequestHeader, + request.EndpointUrl, + request.LocaleIds, + request.ServerUris,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -4540,7 +5638,36 @@ public virtual FindServersOnNetworkResponseMessage EndFindServersOnNetwork(IAsyn throw fault; } } + #endif + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service. + /// + public async Task FindServersOnNetworkAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + FindServersOnNetworkResponse response = null; + + try + { + OnRequestReceived(incoming); + + FindServersOnNetworkRequest request = (FindServersOnNetworkRequest)incoming; + + response = await ServerInstance.FindServersOnNetworkAsync( + request.RequestHeader, + request.StartingRecordId, + request.MaxRecordsToReturn, + request.ServerCapabilityFilter,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -4652,7 +5779,36 @@ public virtual GetEndpointsResponseMessage EndGetEndpoints(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service. + /// + public async Task GetEndpointsAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + GetEndpointsResponse response = null; + + try + { + OnRequestReceived(incoming); + + GetEndpointsRequest request = (GetEndpointsRequest)incoming; + + response = await ServerInstance.GetEndpointsAsync( + request.RequestHeader, + request.EndpointUrl, + request.LocaleIds, + request.ProfileUris,cancellationToken).ConfigureAwait(false); + + } + finally + { + OnResponseSent(response); + } + return response; + } #endif #endif #endregion @@ -4759,7 +5915,34 @@ public virtual RegisterServerResponseMessage EndRegisterServer(IAsyncResult ar) throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_RegisterServer_ASYNC) + /// + /// Invokes the RegisterServer service. + /// + public async Task RegisterServerAsync(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + RegisterServerResponse response = null; + + try + { + OnRequestReceived(incoming); + + RegisterServerRequest request = (RegisterServerRequest)incoming; + + response = await ServerInstance.RegisterServerAsync( + request.RequestHeader, + request.Server,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -4873,7 +6056,35 @@ public virtual RegisterServer2ResponseMessage EndRegisterServer2(IAsyncResult ar throw fault; } } + #endif + + #if (!OPCUA_EXCLUDE_RegisterServer2_ASYNC) + /// + /// Invokes the RegisterServer2 service. + /// + public async Task RegisterServer2Async(IServiceRequest incoming, CancellationToken cancellationToken = default) + { + RegisterServer2Response response = null; + + try + { + OnRequestReceived(incoming); + + RegisterServer2Request request = (RegisterServer2Request)incoming; + + response = await ServerInstance.RegisterServer2Async( + request.RequestHeader, + request.Server, + request.DiscoveryConfiguration,cancellationToken).ConfigureAwait(false); + } + finally + { + OnResponseSent(response); + } + + return response; + } #endif #endif #endregion @@ -4885,19 +6096,29 @@ public virtual RegisterServer2ResponseMessage EndRegisterServer2(IAsyncResult ar /// protected virtual void CreateKnownTypes() { - #if (!OPCUA_EXCLUDE_FindServers) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_FindServers && !OPCUA_EXCLUDE_FindServers_ASYNC) + SupportedServices.Add(DataTypeIds.FindServersRequest, new ServiceDefinition(typeof(FindServersRequest), new InvokeServiceEventHandler(FindServers), new InvokeServiceAsyncEventHandler(FindServersAsync))); + #elif (!OPCUA_EXCLUDE_FindServers) SupportedServices.Add(DataTypeIds.FindServersRequest, new ServiceDefinition(typeof(FindServersRequest), new InvokeServiceEventHandler(FindServers))); #endif - #if (!OPCUA_EXCLUDE_FindServersOnNetwork) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_FindServersOnNetwork && !OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + SupportedServices.Add(DataTypeIds.FindServersOnNetworkRequest, new ServiceDefinition(typeof(FindServersOnNetworkRequest), new InvokeServiceEventHandler(FindServersOnNetwork), new InvokeServiceAsyncEventHandler(FindServersOnNetworkAsync))); + #elif (!OPCUA_EXCLUDE_FindServersOnNetwork) SupportedServices.Add(DataTypeIds.FindServersOnNetworkRequest, new ServiceDefinition(typeof(FindServersOnNetworkRequest), new InvokeServiceEventHandler(FindServersOnNetwork))); #endif - #if (!OPCUA_EXCLUDE_GetEndpoints) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_GetEndpoints && !OPCUA_EXCLUDE_GetEndpoints_ASYNC) + SupportedServices.Add(DataTypeIds.GetEndpointsRequest, new ServiceDefinition(typeof(GetEndpointsRequest), new InvokeServiceEventHandler(GetEndpoints), new InvokeServiceAsyncEventHandler(GetEndpointsAsync))); + #elif (!OPCUA_EXCLUDE_GetEndpoints) SupportedServices.Add(DataTypeIds.GetEndpointsRequest, new ServiceDefinition(typeof(GetEndpointsRequest), new InvokeServiceEventHandler(GetEndpoints))); #endif - #if (!OPCUA_EXCLUDE_RegisterServer) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_RegisterServer && !OPCUA_EXCLUDE_RegisterServer_ASYNC) + SupportedServices.Add(DataTypeIds.RegisterServerRequest, new ServiceDefinition(typeof(RegisterServerRequest), new InvokeServiceEventHandler(RegisterServer), new InvokeServiceAsyncEventHandler(RegisterServerAsync))); + #elif (!OPCUA_EXCLUDE_RegisterServer) SupportedServices.Add(DataTypeIds.RegisterServerRequest, new ServiceDefinition(typeof(RegisterServerRequest), new InvokeServiceEventHandler(RegisterServer))); #endif - #if (!OPCUA_EXCLUDE_RegisterServer2) + #if (OPCUA_INCLUDE_ASYNC && !OPCUA_EXCLUDE_RegisterServer2 && !OPCUA_EXCLUDE_RegisterServer2_ASYNC) + SupportedServices.Add(DataTypeIds.RegisterServer2Request, new ServiceDefinition(typeof(RegisterServer2Request), new InvokeServiceEventHandler(RegisterServer2), new InvokeServiceAsyncEventHandler(RegisterServer2Async))); + #elif (!OPCUA_EXCLUDE_RegisterServer2) SupportedServices.Add(DataTypeIds.RegisterServer2Request, new ServiceDefinition(typeof(RegisterServer2Request), new InvokeServiceEventHandler(RegisterServer2))); #endif } diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.Constants.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.Constants.cs index 6daf6bc25c..dc915a8b79 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.Constants.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.Constants.cs @@ -820,6 +820,9 @@ public static partial class ObjectTypes /// public const uint CertificateDeliveredAuditEventType = 109; + /// + public const uint CertificateRevokedAuditEventType = 27; + /// public const uint KeyCredentialManagementFolderType = 55; @@ -1185,9 +1188,6 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 545; - /// - public const uint CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 60; - /// public const uint CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 15009; @@ -1512,6 +1512,9 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 15302; + /// + public const uint CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 60; + /// public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 548; @@ -1575,9 +1578,6 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 579; - /// - public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 82; - /// public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 15305; @@ -1902,6 +1902,9 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 15598; + /// + public const uint CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 82; + /// public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 582; @@ -1965,9 +1968,6 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 613; - /// - public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 88; - /// public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 15601; @@ -2292,6 +2292,9 @@ public static partial class Variables /// public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 15894; + /// + public const uint CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 88; + /// public const uint CertificateDirectoryType_StartSigningRequest_InputArguments = 80; @@ -2532,9 +2535,6 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 648; - /// - public const uint Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 167; - /// public const uint Directory_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = 15914; @@ -2859,6 +2859,9 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = 16207; + /// + public const uint Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = 167; + /// public const uint Directory_CertificateGroups_DefaultHttpsGroup_TrustList_Size = 651; @@ -2922,9 +2925,6 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultHttpsGroup_CertificateTypes = 682; - /// - public const uint Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 170; - /// public const uint Directory_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = 16210; @@ -3249,6 +3249,9 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = 16503; + /// + public const uint Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = 170; + /// public const uint Directory_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = 685; @@ -3312,9 +3315,6 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = 716; - /// - public const uint Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 173; - /// public const uint Directory_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = 16506; @@ -3639,6 +3639,9 @@ public static partial class Variables /// public const uint Directory_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = 16799; + /// + public const uint Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = 173; + /// public const uint Directory_StartSigningRequest_InputArguments = 158; @@ -4499,6 +4502,9 @@ public static partial class ObjectTypeIds /// public static readonly ExpandedNodeId CertificateDeliveredAuditEventType = new ExpandedNodeId(Opc.Ua.Gds.ObjectTypes.CertificateDeliveredAuditEventType, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId CertificateRevokedAuditEventType = new ExpandedNodeId(Opc.Ua.Gds.ObjectTypes.CertificateRevokedAuditEventType, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId KeyCredentialManagementFolderType = new ExpandedNodeId(Opc.Ua.Gds.ObjectTypes.KeyCredentialManagementFolderType, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -4864,9 +4870,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -5191,6 +5194,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustList_Size, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -5254,9 +5260,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -5581,6 +5584,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -5644,9 +5650,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -5971,6 +5974,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId CertificateDirectoryType_StartSigningRequest_InputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.CertificateDirectoryType_StartSigningRequest_InputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -6211,9 +6217,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultApplicationGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultApplicationGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultApplicationGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -6538,6 +6541,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultApplicationGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultApplicationGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_TrustList_Size = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_TrustList_Size, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -6601,9 +6607,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -6928,6 +6931,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultHttpsGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_TrustList_Size = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_TrustList_Size, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -6991,9 +6997,6 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_CertificateTypes = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_CertificateTypes, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// - public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); - /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_CertificateExpired_EventId, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -7318,6 +7321,9 @@ public static partial class VariableIds /// public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_TrustListOutOfDate_UpdateFrequency, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// + public static readonly ExpandedNodeId Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_CertificateGroups_DefaultUserTokenGroup_GetRejectedList_OutputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); + /// public static readonly ExpandedNodeId Directory_StartSigningRequest_InputArguments = new ExpandedNodeId(Opc.Ua.Gds.Variables.Directory_StartSigningRequest_InputArguments, Opc.Ua.Gds.Namespaces.OpcUaGds); @@ -7436,6 +7442,9 @@ public static partial class BrowseNames /// public const string CertificateRequestedAuditEventType = "CertificateRequestedAuditEventType"; + /// + public const string CertificateRevokedAuditEventType = "CertificateRevokedAuditEventType"; + /// public const string CertificateType = "CertificateType"; diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.DataTypes.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.DataTypes.cs index b6f03d2f7a..735fe83062 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.DataTypes.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Gds.DataTypes.cs @@ -33,6 +33,8 @@ using System.Xml; using System.Linq; using System.Runtime.Serialization; +using System.Threading.Tasks; +using System.Threading; using Opc.Ua; namespace Opc.Ua.Gds diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.uanodes b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.uanodes index 8949ddcf42..f8ebdc5cf7 100644 Binary files a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.uanodes and b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.uanodes differ diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.xml b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.xml index 4ac3bd14c0..a9ea49c694 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.xml +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.PredefinedNodes.xml @@ -1854,7 +1854,7 @@ 15959 - 1.05.04 + 1.05.05 @@ -1882,7 +1882,7 @@ 15960 - 2025-01-08T00:00:00Z + 2025-06-30T00:00:00Z @@ -2134,7 +2134,7 @@ 32408 - 1.5.4 + 1.5.5 @@ -57011,78 +57011,32 @@ 1 1 - - Method_4 + + Variable_2 - i=23526 + i=19398 0 - GetRejectedList + Purpose - i=47 + i=46 - i=23526 + i=68 i=80 - 23526 - true - true - - Variable_2 - - i=23527 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 23527 - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - + 19398 + + i=17 + + -1 + 1 + 1 + Object_1 @@ -59319,6 +59273,78 @@ 1 + + Method_4 + + i=23526 + + + 0 + GetRejectedList + + + i=47 + + + i=23526 + + + i=80 + + 23526 + true + true + + Variable_2 + + i=23527 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 23527 + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + ObjectType_8 @@ -64221,6 +64247,202 @@ + + DataType_64 + + i=15434 + + + 0 + BaseConfigurationDataType + + + i=22 + + true + + + i=14798 + + + + + i=22 + + Structure_0 + + + ConfigurationVersion + + i=20998 + + -1 + + 0 + false + + + ConfigurationProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + + + + + + DataType_64 + + i=15435 + + + 0 + BaseConfigurationRecordDataType + + + i=22 + + true + + + i=14798 + + + + + i=22 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + + + + + + DataType_64 + + i=15436 + + + 0 + CertificateGroupDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + Purpose + + i=17 + + -1 + + 0 + false + + + CertificateTypes + + i=17 + + 1 + + 0 + + 0 + false + + + IsCertificateAssigned + + i=1 + + 1 + + 0 + + 0 + false + + + ValidationOptions + + i=23564 + + -1 + + 0 + false + + + + + + ObjectType_8 @@ -64262,6 +64484,60 @@ i=12556 + + ObjectType_8 + + i=19323 + + + 0 + UserCertificateType + + + i=12556 + + true + + + ObjectType_8 + + i=19324 + + + 0 + TlsCertificateType + + + i=12556 + + true + + + ObjectType_8 + + i=19325 + + + 0 + TlsServerCertificateType + + + i=19324 + + + + ObjectType_8 + + i=19326 + + + 0 + TlsClientCertificateType + + + i=19324 + + ObjectType_8 @@ -64313,6 +64589,7 @@ i=12557 + true ObjectType_8 @@ -64392,6 +64669,677 @@ i=23537 + + ObjectType_8 + + i=15437 + + + 0 + ConfigurationFileType + + + i=11575 + + + Variable_2 + + i=15438 + + + 0 + LastUpdateTime + + + i=46 + + + i=68 + + + i=78 + + 15438 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=15439 + + + 0 + CurrentVersion + + + i=46 + + + i=68 + + + i=78 + + 15439 + + i=20998 + + -1 + 1 + 1 + + + Variable_2 + + i=15503 + + + 0 + ActivityTimeout + + + i=46 + + + i=68 + + + i=78 + + 15503 + + i=290 + + -1 + 1 + 1 + + + Variable_2 + + i=15504 + + + 0 + SupportedDataType + + + i=46 + + + i=68 + + + i=78 + + 15504 + + i=17 + + -1 + 1 + 1 + + + Method_4 + + i=15508 + + + 0 + ConfirmUpdate + + + i=47 + + + i=15508 + + + i=78 + + 15508 + true + true + + Variable_2 + + i=15511 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15511 + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15505 + + + 0 + CloseAndUpdate + + + i=47 + + + i=15505 + + + i=78 + + 15505 + true + true + + Variable_2 + + i=15506 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15506 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + VersionToUpdate + + i=20998 + + -1 + + + + + + + i=297 + + + + Targets + + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 + + -1 + + + + + + + i=297 + + + + RestartDelayTime + + i=290 + + -1 + + + + + + + + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=15507 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 15507 + + + + + + i=297 + + + + UpdateResults + + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 + + -1 + + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + i=296 + + 1 + 3 + 1 + 1 + + + + + DataType_64 + + i=15538 + + + 0 + ConfigurationUpdateTargetType + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + Path + + i=12 + + -1 + + 0 + false + + + UpdateType + + i=15539 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=15539 + + + 0 + ConfigurationUpdateType + + + i=29 + + + + i=14799 + + + + + + 1 + + Insert + + + The target is added. An error occurs if a name conflict occurs. + + Insert + + + 2 + + Replace + + + Existing records are updated. An error occurs if a name cannot be matched to an existing record. + + Replace + + + 3 + + InsertOrReplace + + + Existing records are updated. New records are created if no match to an exising record. + + InsertOrReplace + + + 4 + + Delete + + + Existing records are deleted. An error occurs if a name cannot be matched to an existing record. + + Delete + + + + + + + Variable_2 + + i=15540 + + + 0 + EnumValues + + + i=46 + + + i=68 + + 15540 + + + + + + i=7616 + + + + 1 + + Insert + + + The target is added. An error occurs if a name conflict occurs. + + + + + + + i=7616 + + + + 2 + + Replace + + + Existing records are updated. An error occurs if a name cannot be matched to an existing record. + + + + + + + i=7616 + + + + 3 + + InsertOrReplace + + + Existing records are updated. New records are created if no match to an exising record. + + + + + + + i=7616 + + + + 4 + + Delete + + + Existing records are deleted. An error occurs if a name cannot be matched to an existing record. + + + + + + + + + i=7594 + + 1 + 4 + 1 + 1 + + + + ObjectType_8 + + i=15541 + + + 0 + ConfigurationUpdatedAuditEventType + + + i=2052 + + true + + Variable_2 + + i=15542 + + + 0 + OldVersion + + + i=46 + + + i=68 + + + i=78 + + 15542 + + i=20998 + + -1 + 1 + 1 + + + Variable_2 + + i=15543 + + + 0 + NewVersion + + + i=46 + + + i=68 + + + i=78 + + 15543 + + i=20998 + + -1 + 1 + 1 + + ObjectType_8 @@ -64707,232 +65655,883 @@ i=11508 16663 - - Object_1 + + Variable_2 - i=16707 + i=18525 0 - CertificateGroups + ApplicationUri + + + i=46 + + + i=68 + + + i=78 + + 18525 + + i=23751 + + -1 + 1 + 1 + + + Variable_2 + + i=18526 + + + 0 + ProductUri + + + i=46 + + + i=68 + + + i=78 + + 18526 + + i=23751 + + -1 + 1 + 1 + + + Variable_2 + + i=18527 + + + 0 + ApplicationType + + + i=46 + + + i=68 + + + i=78 + + 18527 + + i=307 + + -1 + 1 + 1 + + + Variable_2 + + i=18528 + + + 0 + ServerCapabilities + + + i=46 + + + i=68 + + + i=78 + + 18528 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=18529 + + + 0 + SupportedPrivateKeyFormats + + + i=46 + + + i=68 + + + i=78 + + 18529 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=18530 + + + 0 + MaxTrustListSize + + + i=46 + + + i=68 + + + i=78 + + 18530 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=18531 + + + 0 + MulticastDnsEnabled + + + i=46 + + + i=68 + + + i=78 + + 18531 + + i=1 + + -1 + 1 + 1 + + + Method_4 + + i=18533 + + + 0 + UpdateCertificate i=47 - i=13813 + i=12616 i=78 - 16707 - - Object_1 + 18533 + true + true + + Variable_2 - i=16708 + i=18534 0 - DefaultApplicationGroup + InputArguments - i=47 + i=46 - i=12555 + i=68 i=78 - 16708 - - Object_1 - - i=16709 - - - 0 - TrustList - - - i=47 - - - i=12522 - - - i=78 - - 16709 - - Variable_2 - - i=16710 - - - 0 - Size - - - i=46 - - - i=68 - - - i=78 - - 16710 - - i=9 - - -1 - 1 - 1 - - - Variable_2 - - i=16711 - - - 0 - Writable - - - i=46 - - - i=68 - - - i=78 - - 16711 - - i=1 - - -1 - 1 - 1 - - - Variable_2 - - i=16712 - - - 0 - UserWritable - - - i=46 - - - i=68 - - - i=78 - - 16712 - - i=1 - - -1 - 1 - 1 - - - Variable_2 - - i=16713 - - - 0 - OpenCount - - - i=46 - - - i=68 - - - i=78 - - 16713 - - i=5 - - -1 - 1 - 1 - - - Method_4 - - i=16717 - - - 0 - Open - - - i=47 - - - i=11580 - - - i=78 - - 16717 - true - true - - Variable_2 - - i=16722 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 16722 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - i=296 - - 1 + 18534 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=18535 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 18535 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=18539 + + + 0 + ApplyChanges + + + i=47 + + + i=12734 + + + i=78 + + 18539 + true + true + + + Method_4 + + i=18541 + + + 0 + CreateSigningRequest + + + i=47 + + + i=12731 + + + i=78 + + 18541 + true + true + + Variable_2 + + i=18542 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 18542 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + RegeneratePrivateKey + + i=1 + + -1 + + + + + + + i=297 + + + + Nonce + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=18543 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 18543 + + + + + + i=297 + + + + CertificateRequest + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=18544 + + + 0 + GetRejectedList + + + i=47 + + + i=12775 + + + i=78 + + 18544 + true + true + + Variable_2 + + i=18545 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 18545 + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Object_1 + + i=16707 + + + 0 + CertificateGroups + + + i=47 + + + i=13813 + + + i=78 + + 16707 + + Object_1 + + i=16708 + + + 0 + DefaultApplicationGroup + + + i=47 + + + i=12555 + + + i=78 + + 16708 + + Object_1 + + i=16709 + + + 0 + TrustList + + + i=47 + + + i=12522 + + + i=78 + + 16709 + + Variable_2 + + i=16710 + + + 0 + Size + + + i=46 + + + i=68 + + + i=78 + + 16710 + + i=9 + + -1 + 1 + 1 + + + Variable_2 + + i=16711 + + + 0 + Writable + + + i=46 + + + i=68 + + + i=78 + + 16711 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=16712 + + + 0 + UserWritable + + + i=46 + + + i=68 + + + i=78 + + 16712 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=16713 + + + 0 + OpenCount + + + i=46 + + + i=68 + + + i=78 + + 16713 + + i=5 + + -1 + 1 + 1 + + + Method_4 + + i=16717 + + + 0 + Open + + + i=47 + + + i=11580 + + + i=78 + + 16717 + true + true + + Variable_2 + + i=16722 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 16722 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + i=296 + + 1 1 1 1 @@ -65939,172 +67538,14 @@ - - Variable_2 - - i=18525 - - - 0 - ApplicationUri - - - i=46 - - - i=68 - - - i=78 - - 18525 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=18526 - - - 0 - ProductUri - - - i=46 - - - i=68 - - - i=78 - - 18526 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=18527 - - - 0 - ApplicationType - - - i=46 - - - i=68 - - - i=78 - - 18527 - - i=307 - - -1 - 1 - 1 - - - Variable_2 - - i=18528 - - - 0 - ServerCapabilities - - - i=46 - - - i=68 - - - i=78 - - 18528 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=18529 - - - 0 - SupportedPrivateKeyFormats - - - i=46 - - - i=68 - - - i=78 - - 18529 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=18530 - - - 0 - MaxTrustListSize - - - i=46 - - - i=68 - - - i=78 - - 18530 - - i=7 - - -1 - 1 - 1 - - + Variable_2 - i=18531 + i=18592 0 - MulticastDnsEnabled + Enabled i=46 @@ -66115,529 +67556,36 @@ i=78 - 18531 + 18592 i=1 -1 1 1 - - - Method_4 - - i=18533 - - - 0 - UpdateCertificate - + + + + + Object_1 + + i=16706 + + + 0 + ManagedApplications + + + i=47 + + + i=16662 + + 16706 + + - i=47 - - - i=12616 - - - i=78 - - 18533 - true - true - - Variable_2 - - i=18534 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 18534 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 6 - 1 - 1 - - - Variable_2 - - i=18535 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 18535 - - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - - Method_4 - - i=18539 - - - 0 - ApplyChanges - - - i=47 - - - i=12734 - - - i=78 - - 18539 - true - true - - - Method_4 - - i=18541 - - - 0 - CreateSigningRequest - - - i=47 - - - i=12731 - - - i=78 - - 18541 - true - true - - Variable_2 - - i=18542 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 18542 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - SubjectName - - i=12 - - -1 - - - - - - - i=297 - - - - RegeneratePrivateKey - - i=1 - - -1 - - - - - - - i=297 - - - - Nonce - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 5 - 1 - 1 - - - Variable_2 - - i=18543 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 18543 - - - - - - i=297 - - - - CertificateRequest - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - - Method_4 - - i=18544 - - - 0 - GetRejectedList - - - i=47 - - - i=12775 - - - i=78 - - 18544 - true - true - - Variable_2 - - i=18545 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 18545 - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - - Variable_2 - - i=18592 - - - 0 - Enabled - - - i=46 - - - i=68 - - - i=78 - - 18592 - - i=1 - - -1 - 1 - 1 - - - - - Object_1 - - i=16706 - - - 0 - ManagedApplications - - - i=47 - - - i=16662 - - 16706 - - - - i=35 + i=35 true @@ -66646,1239 +67594,3683 @@ - + + DataType_64 + + i=15549 + + + 0 + ApplicationConfigurationDataType + + + i=15434 + + + + i=14798 + + + + + i=15434 + + Structure_0 + + + ConfigurationVersion + + i=20998 + + -1 + + 0 + false + + + ConfigurationProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + ApplicationIdentity + + i=15556 + + -1 + + 0 + false + + + CertificateGroups + + i=15436 + + 1 + + 0 + + 0 + false + + + ServerEndpoints + + i=15558 + + 1 + + 0 + + 0 + false + + + ClientEndpoints + + i=15557 + + 1 + + 0 + + 0 + false + + + SecuritySettings + + i=15559 + + 1 + + 0 + + 0 + false + + + UserTokenSettings + + i=15560 + + 1 + + 0 + + 0 + false + + + AuthorizationServices + + i=19445 + + 1 + + 0 + + 0 + false + + + + + + + ObjectType_8 - i=12581 + i=15550 0 - ServerConfigurationType + ApplicationConfigurationFileType - i=58 + i=15437 - - Object_1 + + Variable_2 - i=13950 + i=15551 0 - CertificateGroups + AvailableNetworks - i=47 + i=46 - i=13813 + i=68 i=78 - 13950 - - Object_1 - - i=13951 - - - 0 - DefaultApplicationGroup - - - i=47 - - - i=12555 - - - i=78 - - 13951 - - - - i=9006 - - - i=13225 - - - - - Object_1 - - i=13952 - - - 0 - TrustList - - - i=47 - - - i=12522 - - - i=78 - - 13952 - - Variable_2 - - i=13953 - - - 0 - Size - - - i=46 - - - i=68 - - - i=78 - - 13953 - - i=9 - - -1 - 1 - 1 - - - Variable_2 - - i=13954 - - - 0 - Writable - - - i=46 - - - i=68 - - - i=78 - - 13954 - - i=1 - - -1 - 1 - 1 - - - Variable_2 - - i=13955 - - - 0 - UserWritable - - - i=46 - - - i=68 - - - i=78 - - 13955 - - i=1 - - -1 - 1 - 1 - - - Variable_2 - - i=13956 - - - 0 - OpenCount - - - i=46 - - - i=68 - - - i=78 - - 13956 - - i=5 - - -1 - 1 - 1 - - - Method_4 - - i=13958 - - - 0 - Open - - - i=47 - - - i=11580 - - - i=78 - - 13958 - true - true - - Variable_2 - - i=13959 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13959 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - + 15551 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=15552 + + + 0 + AvailablePorts + + + i=46 + + + i=68 + + + i=78 + + 15552 + + i=291 + + -1 + 1 + 1 + + + Variable_2 + + i=19414 + + + 0 + MaxEndpoints + + + i=46 + + + i=68 + + + i=78 + + 19414 + + i=5 + + -1 + 1 + 1 + + + Variable_2 + + i=19415 + + + 0 + MaxCertificateGroups + + + i=46 + + + i=68 + + + i=78 + + 19415 + + i=5 + + -1 + 1 + 1 + + + Variable_2 + + i=15553 + + + 0 + SecurityPolicyUris + + + i=46 + + + i=68 + + + i=78 + + 15553 + + i=23751 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=15554 + + + 0 + UserTokenTypes + + + i=46 + + + i=68 + + + i=78 + + 15554 + + i=304 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=15555 + + + 0 + CertificateTypes + + + i=46 + + + i=68 + + + i=78 + + 15555 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=19416 + + + 0 + CertificateGroupPurposes + + + i=46 + + + i=68 + + + i=78 + + 19416 + + i=17 + + 1 + 0 + 1 + 1 + + + + DataType_64 + + i=15556 + + + 0 + ApplicationIdentityDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name - i=296 + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 1 - 1 - 1 - 1 - - - Variable_2 - - i=13960 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 13960 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + ApplicationUri - i=296 + i=23751 + + -1 + + 0 + false + + + ApplicationNames + + i=21 1 - 1 - 1 - 1 - - - - Method_4 - - i=13961 - - - 0 - Close - - - i=47 - - - i=11583 - - - i=78 - - 13961 - true - true - - Variable_2 - - i=13962 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13962 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + AdditionalServers - i=296 + i=308 1 - 1 - 1 - 1 - - - - Method_4 - - i=13963 - - - 0 - Read - - - i=47 - - - i=11585 - - - i=78 - - 13963 - true - true - - Variable_2 - - i=13964 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13964 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - + + 0 + + 0 + false + + + + + + + + DataType_64 + + i=15557 + + + 0 + EndpointDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name - i=296 + i=12 - 1 - 2 - 1 - 1 - - - Variable_2 - - i=13965 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 13965 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - + -1 + + 0 + false + + + RecordProperties - i=296 + i=14533 1 - 1 - 1 - 1 - - - - Method_4 - - i=13966 - - - 0 - Write - - - i=47 - - - i=11588 - - - i=78 - - 13966 - true - true - - Variable_2 - - i=13967 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13967 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - + + 0 + + 0 + false + + + DiscoveryUrls - i=296 + i=23751 1 - 2 - 1 - 1 - - - - Method_4 - - i=13968 - - - 0 - GetPosition - - - i=47 - - - i=11590 - - - i=78 - - 13968 - true - true - - Variable_2 - - i=13969 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13969 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + NetworkName - i=296 + i=12 + + -1 + + 0 + false + + + Port + + i=5 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=15558 + + + 0 + ServerEndpointDataType + + + i=15557 + + + + i=14798 + + + + + i=15557 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 1 - 1 - 1 - 1 - - - Variable_2 - - i=13970 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 13970 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - + + 0 + + 0 + false + + + DiscoveryUrls - i=296 + i=23751 1 - 1 - 1 - 1 - - - - Method_4 - - i=13971 - - - 0 - SetPosition - - - i=47 - - - i=11593 - - - i=78 - - 13971 - true - true - - Variable_2 - - i=13972 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13972 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - + + 0 + + 0 + false + + + NetworkName - i=296 + i=12 + + -1 + + 0 + false + + + Port + + i=5 + + -1 + + 0 + false + + + EndpointUrls + + i=23751 1 - 2 - 1 - 1 - - - - Variable_2 - - i=13973 - - - 0 - LastUpdateTime - - - i=46 - - - i=68 - - - i=78 - - 13973 - - i=294 - - -1 - 1 - 1 - - - Method_4 - - i=13974 - - - 0 - OpenWithMasks - - - i=47 - - - i=12543 - - - i=78 - - 13974 - true - true - - Variable_2 - - i=13975 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13975 - - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + SecuritySettingNames - i=296 + i=12 1 - 1 - 1 - 1 - - - Variable_2 - - i=13976 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 13976 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + TransportProfileUri - i=296 + i=23751 + + -1 + + 0 + false + + + UserTokenSettingNames + + i=12 1 - 1 - 1 - 1 - - - - Method_4 - - i=13977 - - - 0 - CloseAndUpdate - - - i=47 - - - i=12546 - - - i=78 - - 13977 - true - true - - Variable_2 - - i=13978 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13978 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - + + 0 + + 0 + false + + + ReverseConnectUrls - i=296 + i=12 1 - 1 - 1 - 1 - - - Variable_2 - - i=13979 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 13979 - - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - + + 0 + + 0 + false + + + + + + + + DataType_64 + + i=15559 + + + 0 + SecuritySettingsDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name - i=296 + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 1 - 1 - 1 - 1 - - - - Method_4 - - i=13980 - - - 0 - AddCertificate - - - i=47 - - - i=12548 - - - i=78 - - 13980 - true - true - - Variable_2 - - i=13981 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13981 - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - - + + 0 + + 0 + false + + + SecurityModes - i=296 + i=302 1 - 2 - 1 - 1 - - - - Method_4 - - i=13982 - - - 0 - RemoveCertificate - - - i=47 - - - i=12550 - - - i=78 - - 13982 - true - true - - Variable_2 - - i=13983 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 13983 - - - - - - i=297 - - - - Thumbprint - - i=12 - - -1 - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - - + + 0 + + 0 + false + + + SecurityPolicyUris - i=296 + i=12 1 - 2 - 1 - 1 + + 0 + + 0 + false + + + CertificateGroupName + + i=12 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=15560 + + + 0 + UserTokenSettingsDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + TokenType + + i=303 + + -1 + + 0 + false + + + IssuedTokenType + + i=12 + + -1 + + 0 + false + + + IssuerEndpointUrl + + i=12 + + -1 + + 0 + false + + + SecurityPolicyUri + + i=12 + + -1 + + 0 + false + + + CertificateGroupName + + i=12 + + -1 + + 0 + false + + + AuthorizationServiceName + + i=12 + + -1 + + 0 + false + + + + + + + + ObjectType_8 + + i=12581 + + + 0 + ServerConfigurationType + + + i=58 + + + Variable_2 + + i=25696 + + + 0 + ApplicationUri + + + i=46 + + + i=68 + + + i=80 + + 25696 + + i=23751 + + -1 + 1 + 1 + + + Variable_2 + + i=25724 + + + 0 + ProductUri + + + i=46 + + + i=68 + + + i=80 + + 25724 + + i=23751 + + -1 + 1 + 1 + + + Variable_2 + + i=25697 + + + 0 + ApplicationType + + + i=46 + + + i=68 + + + i=80 + + 25697 + + i=307 + + -1 + 1 + 1 + + + Variable_2 + + i=18660 + + + 0 + ApplicationNames + + + i=46 + + + i=68 + + + i=80 + + 18660 + + i=21 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=12708 + + + 0 + ServerCapabilities + + + i=46 + + + i=68 + + + i=78 + + 12708 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=12583 + + + 0 + SupportedPrivateKeyFormats + + + i=46 + + + i=68 + + + i=78 + + 12583 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=12584 + + + 0 + MaxTrustListSize + + + i=46 + + + i=68 + + + i=78 + + 12584 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=12585 + + + 0 + MulticastDnsEnabled + + + i=46 + + + i=68 + + + i=78 + + 12585 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=23593 + + + 0 + HasSecureElement + + + i=46 + + + i=68 + + + i=80 + + 23593 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=18661 + + + 0 + SupportsTransactions + + + i=46 + + + i=68 + + + i=80 + + 18661 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=19308 + + + 0 + InApplicationSetup + + + i=46 + + + i=68 + + + i=80 + + 19308 + + i=1 + + -1 + 1 + 1 + + + Method_4 + + i=12616 + + + 0 + UpdateCertificate + + + i=47 + + + i=12616 + + + i=78 + + 12616 + true + true + + Variable_2 + + i=12617 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 12617 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=12618 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 12618 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=19337 + + + 0 + CreateSelfSignedCertificate + + + i=47 + + + i=19337 + + + i=80 + + 19337 + true + true + + Variable_2 + + i=19338 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 19338 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + DnsNames + + i=12 + + 1 + + 0 + + + + + + + i=297 + + + + IpAddresses + + i=12 + + 1 + + 0 + + + + + + + i=297 + + + + LifetimeInDays + + i=5 + + -1 + + + + + + + i=297 + + + + KeySizeInBits + + i=5 + + -1 + + + + + + + + + i=296 + + 1 + 7 + 1 + 1 + + + Variable_2 + + i=19339 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 19339 + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=19340 + + + 0 + DeleteCertificate + + + i=47 + + + i=19340 + + + i=80 + + 19340 + true + true + + Variable_2 + + i=19341 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 19341 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=32296 + + + 0 + GetCertificates + + + i=47 + + + i=32296 + + + i=80 + + 32296 + true + true + + Variable_2 + + i=32297 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 32297 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=32298 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 32298 + + + + + + i=297 + + + + CertificateTypeIds + + i=17 + + 1 + + 0 + + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=12734 + + + 0 + ApplyChanges + + + i=47 + + + i=12734 + + + i=78 + + 12734 + true + true + + + Method_4 + + i=25698 + + + 0 + CancelChanges + + + i=47 + + + i=25698 + + + i=80 + + 25698 + true + true + + + Method_4 + + i=12731 + + + 0 + CreateSigningRequest + + + i=47 + + + i=12731 + + + i=78 + + 12731 + true + true + + Variable_2 + + i=12732 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 12732 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + RegeneratePrivateKey + + i=1 + + -1 + + + + + + + i=297 + + + + Nonce + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=12733 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 12733 + + + + + + i=297 + + + + CertificateRequest + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=12775 + + + 0 + GetRejectedList + + + i=47 + + + i=12775 + + + i=78 + + 12775 + true + true + + Variable_2 + + i=12776 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 12776 + + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=25699 + + + 0 + ResetToServerDefaults + + + i=47 + + + i=25699 + + + i=80 + + 25699 + true + true + + + Object_1 + + i=13950 + + + 0 + CertificateGroups + + + i=47 + + + i=13813 + + + i=78 + + 13950 + + Object_1 + + i=13951 + + + 0 + DefaultApplicationGroup + + + i=47 + + + i=12555 + + + i=78 + + 13951 + + + + i=9006 + + + i=13225 + + + + + Object_1 + + i=13952 + + + 0 + TrustList + + + i=47 + + + i=12522 + + + i=78 + + 13952 + + Variable_2 + + i=13953 + + + 0 + Size + + + i=46 + + + i=68 + + + i=78 + + 13953 + + i=9 + + -1 + 1 + 1 + + + Variable_2 + + i=13954 + + + 0 + Writable + + + i=46 + + + i=68 + + + i=78 + + 13954 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=13955 + + + 0 + UserWritable + + + i=46 + + + i=68 + + + i=78 + + 13955 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=13956 + + + 0 + OpenCount + + + i=46 + + + i=68 + + + i=78 + + 13956 + + i=5 + + -1 + 1 + 1 + + + Method_4 + + i=13958 + + + 0 + Open + + + i=47 + + + i=11580 + + + i=78 + + 13958 + true + true + + Variable_2 + + i=13959 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13959 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=13960 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 13960 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13961 + + + 0 + Close + + + i=47 + + + i=11583 + + + i=78 + + 13961 + true + true + + Variable_2 + + i=13962 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13962 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13963 + + + 0 + Read + + + i=47 + + + i=11585 + + + i=78 + + 13963 + true + true + + Variable_2 + + i=13964 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13964 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + Variable_2 + + i=13965 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 13965 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13966 + + + 0 + Write + + + i=47 + + + i=11588 + + + i=78 + + 13966 + true + true + + Variable_2 + + i=13967 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13967 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=13968 + + + 0 + GetPosition + + + i=47 + + + i=11590 + + + i=78 + + 13968 + true + true + + Variable_2 + + i=13969 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13969 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=13970 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 13970 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13971 + + + 0 + SetPosition + + + i=47 + + + i=11593 + + + i=78 + + 13971 + true + true + + Variable_2 + + i=13972 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13972 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Variable_2 + + i=13973 + + + 0 + LastUpdateTime + + + i=46 + + + i=68 + + + i=78 + + 13973 + + i=294 + + -1 + 1 + 1 + + + Method_4 + + i=13974 + + + 0 + OpenWithMasks + + + i=47 + + + i=12543 + + + i=78 + + 13974 + true + true + + Variable_2 + + i=13975 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13975 + + + + + + i=297 + + + + Masks + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=13976 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 13976 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13977 + + + 0 + CloseAndUpdate + + + i=47 + + + i=12546 + + + i=78 + + 13977 + true + true + + Variable_2 + + i=13978 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13978 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=13979 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 13979 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=13980 + + + 0 + AddCertificate + + + i=47 + + + i=12548 + + + i=78 + + 13980 + true + true + + Variable_2 + + i=13981 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13981 + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=13982 + + + 0 + RemoveCertificate + + + i=47 + + + i=12550 + + + i=78 + + 13982 + true + true + + Variable_2 + + i=13983 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 13983 + + + + + + i=297 + + + + Thumbprint + + i=12 + + -1 + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 Variable_2 - i=13984 + i=13984 + + + 0 + CertificateTypes + + + i=46 + + + i=68 + + + i=78 + + 13984 + + i=17 + + 1 + 0 + 1 + 1 + + + + + Object_1 + + i=32299 + + + 0 + TransactionDiagnostics + + + i=47 + + + i=32286 + + + i=80 + + 32299 + + Variable_2 + + i=32300 + + + 0 + StartTime + + + i=46 + + + i=68 + + + i=78 + + 32300 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=32301 + + + 0 + EndTime + + + i=46 + + + i=68 + + + i=78 + + 32301 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=32302 + + + 0 + Result + + + i=46 + + + i=68 + + + i=78 + + 32302 + + i=19 + + -1 + 1 + 1 + + + Variable_2 + + i=32303 + + + 0 + AffectedTrustLists + + + i=46 + + + i=68 + + + i=78 + + 32303 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=32304 + + + 0 + AffectedCertificateGroups + + + i=46 + + + i=68 + + + i=78 + + 32304 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=32305 + + + 0 + Errors + + + i=46 + + + i=68 + + + i=78 + + 32305 + + i=32285 + + 1 + 0 + 1 + 1 + + + + Object_1 + + i=15564 + + + 0 + ConfigurationFile + + + i=47 + + + i=15550 + + + i=80 + + 15564 + + Variable_2 + + i=15565 + + + 0 + Size + + + i=46 + + + i=68 + + + i=78 + + 15565 + + i=9 + + -1 + 1 + 1 + + + Variable_2 + + i=15566 + + + 0 + Writable + + + i=46 + + + i=68 + + + i=78 + + 15566 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=15567 + + + 0 + UserWritable + + + i=46 + + + i=68 + + + i=78 + + 15567 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=15568 + + + 0 + OpenCount + + + i=46 + + + i=68 + + + i=78 + + 15568 + + i=5 + + -1 + 1 + 1 + + + Method_4 + + i=15572 + + + 0 + Open + + + i=47 + + + i=11580 + + + i=78 + + 15572 + true + true + + Variable_2 + + i=15573 0 - CertificateTypes + InputArguments i=46 @@ -67889,21 +71281,1193 @@ i=78 - 13984 + 15573 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=15574 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 15574 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15575 + + + 0 + Close + + + i=47 + + + i=11583 + + + i=78 + + 15575 + true + true + + Variable_2 + + i=15790 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15790 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15791 + + + 0 + Read + + + i=47 + + + i=11585 + + + i=78 + + 15791 + true + true + + Variable_2 + + i=15792 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15792 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + Variable_2 + + i=15804 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 15804 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15805 + + + 0 + Write + + + i=47 + + + i=11588 + + + i=78 + + 15805 + true + true + + Variable_2 + + i=15806 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15806 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=15807 + + + 0 + GetPosition + + + i=47 + + + i=11590 + + + i=78 + + 15807 + true + true + + Variable_2 + + i=15808 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15808 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=15809 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 15809 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15810 + + + 0 + SetPosition + + + i=47 + + + i=11593 + + + i=78 + + 15810 + true + true + + Variable_2 + + i=15811 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15811 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Variable_2 + + i=15812 + + + 0 + LastUpdateTime + + + i=46 + + + i=68 + + + i=78 + + 15812 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=15813 + + + 0 + CurrentVersion + + + i=46 + + + i=68 + + + i=78 + + 15813 + + i=20998 + + -1 + 1 + 1 + + + Variable_2 + + i=15814 + + + 0 + ActivityTimeout + + + i=46 + + + i=68 + + + i=78 + + 15814 + + i=290 + + -1 + 1 + 1 + + + Variable_2 + + i=15848 + + + 0 + SupportedDataType + + + i=46 + + + i=68 + + + i=78 + + 15848 + + i=17 + + -1 + 1 + 1 + + + Method_4 + + i=15863 + + + 0 + ConfirmUpdate + + + i=47 + + + i=15508 + + + i=78 + + 15863 + true + true + + Variable_2 + + i=15864 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15864 + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=15849 + + + 0 + CloseAndUpdate + + + i=47 + + + i=15505 + + + i=78 + + 15849 + true + true + + Variable_2 + + i=15850 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 15850 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + VersionToUpdate + + i=20998 + + -1 + + + + + + + i=297 + + + + Targets + + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 + + -1 + + + + + + + i=297 + + + + RestartDelayTime + + i=290 + + -1 + + + + + + + + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=15851 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 15851 + + + + + + i=297 + + + + UpdateResults + + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 + + -1 + + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + - i=17 + i=296 1 - 0 + 3 1 1 - - - + + + + Variable_2 + + i=16646 + + + 0 + AvailableNetworks + + + i=46 + + + i=68 + + + i=78 + + 16646 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=16647 + + + 0 + AvailablePorts + + + i=46 + + + i=68 + + + i=78 + + 16647 + + i=291 + + -1 + 1 + 1 + + + Variable_2 + + i=19420 + + + 0 + MaxEndpoints + + + i=46 + + + i=68 + + + i=78 + + 19420 + + i=5 + + -1 + 1 + 1 + + + Variable_2 + + i=19421 + + + 0 + MaxCertificateGroups + + + i=46 + + + i=68 + + + i=78 + + 19421 + + i=5 + + -1 + 1 + 1 + + + Variable_2 + + i=16648 + + + 0 + SecurityPolicyUris + + + i=46 + + + i=68 + + + i=78 + + 16648 + + i=23751 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=16649 + + + 0 + UserTokenTypes + + + i=46 + + + i=68 + + + i=78 + + 16649 + + i=304 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=16650 + + + 0 + CertificateTypes + + + i=46 + + + i=68 + + + i=78 + + 16650 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=19422 + + + 0 + CertificateGroupPurposes + + + i=46 + + + i=68 + + + i=78 + + 19422 + + i=17 + + 1 + 0 + 1 + 1 + + + + + ObjectType_8 + + i=25731 + + + 0 + ApplicationConfigurationType + + + i=12581 + Variable_2 - i=25696 + i=26850 0 @@ -67916,9 +72480,9 @@ i=68 - i=80 + i=78 - 25696 + 26850 i=23751 @@ -67929,7 +72493,7 @@ Variable_2 - i=25724 + i=26851 0 @@ -67942,9 +72506,9 @@ i=68 - i=80 + i=78 - 25724 + 26851 i=23751 @@ -67955,7 +72519,7 @@ Variable_2 - i=25697 + i=26852 0 @@ -67968,9 +72532,9 @@ i=68 - i=80 + i=78 - 25697 + 26852 i=307 @@ -67978,14 +72542,14 @@ 1 1 - + Variable_2 - i=18660 + i=26849 0 - ApplicationNames + Enabled i=46 @@ -67994,25 +72558,92 @@ i=68 - i=80 + i=78 - 18660 + 26849 - i=21 + i=1 - 1 - 0 + -1 1 1 - - + + + Object_1 + + i=19423 + + + 0 + KeyCredentials + + + i=47 + + + i=17496 + + + i=80 + + 19423 + + + Object_1 + + i=19427 + + + 0 + AuthorizationServices + + + i=47 + + + i=23556 + + + i=80 + + 19427 + + + + ObjectType_8 + + i=32306 + + + 0 + CertificateUpdateRequestedAuditEventType + + + i=2127 + + true + + + ObjectType_8 + + i=12620 + + + 0 + CertificateUpdatedAuditEventType + + + i=2127 + + true + Variable_2 - i=12708 + i=13735 0 - ServerCapabilities + CertificateGroup i=46 @@ -68023,23 +72654,22 @@ i=78 - 12708 + 13735 - i=12 + i=17 - 1 - 0 + -1 1 1 - - + + Variable_2 - i=12583 + i=13736 0 - SupportedPrivateKeyFormats + CertificateType i=46 @@ -68050,23 +72680,50 @@ i=78 - 12583 + 13736 - i=12 + i=17 - 1 - 0 + -1 1 1 - - + + + + Object_1 + + i=12637 + + + 0 + ServerConfiguration + + + i=47 + + + i=12581 + + 12637 + + + + i=47 + + true + + i=2253 + + + + Variable_2 - i=12584 + i=25706 0 - MaxTrustListSize + ApplicationUri i=46 @@ -68074,25 +72731,22 @@ i=68 - - i=78 - - 12584 + 25706 - i=7 + i=23751 -1 1 1 - - + + Variable_2 - i=12585 + i=25725 0 - MulticastDnsEnabled + ProductUri i=46 @@ -68100,25 +72754,22 @@ i=68 - - i=78 - - 12585 + 25725 - i=1 + i=23751 -1 1 1 - - + + Variable_2 - i=23593 + i=25707 0 - HasSecureElement + ApplicationType i=46 @@ -68126,25 +72777,22 @@ i=68 - - i=80 - - 23593 + 25707 - i=1 + i=307 -1 1 1 - - + + Variable_2 - i=18661 + i=12710 0 - SupportsTransactions + ServerCapabilities i=46 @@ -68152,25 +72800,93 @@ i=68 - - i=80 - - 18661 + 12710 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=12639 + + + 0 + SupportedPrivateKeyFormats + + + i=46 + + + i=68 + + 12639 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=12640 + + + 0 + MaxTrustListSize + + + i=46 + + + i=68 + + 12640 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=12641 + + + 0 + MulticastDnsEnabled + + + i=46 + + + i=68 + + 12641 i=1 -1 1 1 - - + + Variable_2 - i=19308 + i=23597 0 - InApplicationSetup + HasSecureElement i=46 @@ -68178,21 +72894,18 @@ i=68 - - i=80 - - 19308 + 23597 i=1 -1 1 1 - + Method_4 - i=12616 + i=13737 0 @@ -68204,16 +72917,13 @@ i=12616 - - i=78 - - 12616 + 13737 true true Variable_2 - i=12617 + i=13738 0 @@ -68225,10 +72935,7 @@ i=68 - - i=78 - - 12617 + 13738 @@ -68338,7 +73045,7 @@ Variable_2 - i=12618 + i=13739 0 @@ -68350,10 +73057,7 @@ i=68 - - i=78 - - 12618 + 13739 @@ -68384,147 +73088,10 @@ 1 - - Method_4 - - i=32296 - - - 0 - GetCertificates - - - i=47 - - - i=32296 - - - i=80 - - 32296 - true - true - - Variable_2 - - i=32297 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 32297 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - Variable_2 - - i=32298 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 32298 - - - - - - i=297 - - - - CertificateTypeIds - - i=17 - - 1 - - 0 - - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - - - i=296 - - 1 - 2 - 1 - 1 - - Method_4 - i=12734 + i=12740 0 @@ -68536,17 +73103,14 @@ i=12734 - - i=78 - - 12734 + 12740 true true Method_4 - i=25698 + i=25708 0 @@ -68558,17 +73122,14 @@ i=25698 - - i=80 - - 25698 + 25708 true true Method_4 - i=12731 + i=12737 0 @@ -68580,16 +73141,13 @@ i=12731 - - i=78 - - 12731 + 12737 true true Variable_2 - i=12732 + i=12738 0 @@ -68601,10 +73159,7 @@ i=68 - - i=78 - - 12732 + 12738 @@ -68697,7 +73252,7 @@ Variable_2 - i=12733 + i=12739 0 @@ -68709,10 +73264,7 @@ i=68 - - i=78 - - 12733 + 12739 @@ -68746,7 +73298,7 @@ Method_4 - i=12775 + i=12777 0 @@ -68758,16 +73310,13 @@ i=12775 - - i=78 - - 12775 + 12777 true true Variable_2 - i=12776 + i=12778 0 @@ -68779,10 +73328,7 @@ i=68 - - i=78 - - 12776 + 12778 @@ -68818,7 +73364,7 @@ Method_4 - i=25699 + i=25709 0 @@ -68830,300 +73376,10 @@ i=25699 - - i=80 - - 25699 + 25709 true true - - Object_1 - - i=32299 - - - 0 - TransactionDiagnostics - - - i=47 - - - i=32286 - - - i=80 - - 32299 - - Variable_2 - - i=32300 - - - 0 - StartTime - - - i=46 - - - i=68 - - - i=78 - - 32300 - - i=294 - - -1 - 1 - 1 - - - Variable_2 - - i=32301 - - - 0 - EndTime - - - i=46 - - - i=68 - - - i=78 - - 32301 - - i=294 - - -1 - 1 - 1 - - - Variable_2 - - i=32302 - - - 0 - Result - - - i=46 - - - i=68 - - - i=78 - - 32302 - - i=19 - - -1 - 1 - 1 - - - Variable_2 - - i=32303 - - - 0 - AffectedTrustLists - - - i=46 - - - i=68 - - - i=78 - - 32303 - - i=17 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=32304 - - - 0 - AffectedCertificateGroups - - - i=46 - - - i=68 - - - i=78 - - 32304 - - i=17 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=32305 - - - 0 - Errors - - - i=46 - - - i=68 - - - i=78 - - 32305 - - i=32285 - - 1 - 0 - 1 - 1 - - - - - ObjectType_8 - - i=32306 - - - 0 - CertificateUpdateRequestedAuditEventType - - - i=2127 - - true - - - ObjectType_8 - - i=12620 - - - 0 - CertificateUpdatedAuditEventType - - - i=2127 - - true - - Variable_2 - - i=13735 - - - 0 - CertificateGroup - - - i=46 - - - i=68 - - - i=78 - - 13735 - - i=17 - - -1 - 1 - 1 - - - Variable_2 - - i=13736 - - - 0 - CertificateType - - - i=46 - - - i=68 - - - i=78 - - 13736 - - i=17 - - -1 - 1 - 1 - - - - Object_1 - - i=12637 - - - 0 - ServerConfiguration - - - i=47 - - - i=12581 - - 12637 - - - - i=47 - - true - - i=2253 - - - Object_1 @@ -72501,227 +76757,853 @@ 14155 - i=17 + i=17 + + 1 + 0 + 1 + 1 + + + + + Object_1 + + i=32336 + + + 0 + TransactionDiagnostics + + + i=47 + + + i=32286 + + 32336 + + Variable_2 + + i=32337 + + + 0 + StartTime + + + i=46 + + + i=68 + + 32337 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=32338 + + + 0 + EndTime + + + i=46 + + + i=68 + + 32338 + + i=294 + + -1 + 1 + 1 + + + Variable_2 + + i=32339 + + + 0 + Result + + + i=46 + + + i=68 + + 32339 + + i=19 + + -1 + 1 + 1 + + + Variable_2 + + i=32340 + + + 0 + AffectedTrustLists + + + i=46 + + + i=68 + + 32340 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=32341 + + + 0 + AffectedCertificateGroups + + + i=46 + + + i=68 + + 32341 + + i=17 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=32342 + + + 0 + Errors + + + i=46 + + + i=68 + + 32342 + + i=32285 + + 1 + 0 + 1 + 1 + + + + Object_1 + + i=15892 + + + 0 + ConfigurationFile + + + i=47 + + + i=15550 + + 15892 + + Variable_2 + + i=15893 + + + 0 + Size + + + i=46 + + + i=68 + + 15893 + + i=9 + + -1 + 1 + 1 + + + Variable_2 + + i=15894 + + + 0 + Writable + + + i=46 + + + i=68 + + 15894 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=15937 + + + 0 + UserWritable + + + i=46 + + + i=68 + + 15937 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=15938 + + + 0 + OpenCount + + + i=46 + + + i=68 + + 15938 + + i=5 + + -1 + 1 + 1 + + + Method_4 + + i=16013 + + + 0 + Open + + + i=47 + + + i=11580 + + 16013 + true + true + + Variable_2 + + i=16020 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16020 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=16059 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + 16059 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=16060 + + + 0 + Close + + + i=47 + + + i=11583 + + 16060 + true + true + + Variable_2 + + i=16061 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16061 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=16074 + + + 0 + Read + + + i=47 + + + i=11585 + + 16074 + true + true + + Variable_2 + + i=16075 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16075 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + Variable_2 + + i=16076 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + 16076 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=16101 + + + 0 + Write + + + i=47 + + + i=11588 + + 16101 + true + true + + Variable_2 + + i=16102 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16102 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + + Method_4 + + i=16103 + + + 0 + GetPosition + + + i=47 + + + i=11590 + + 16103 + true + true + + Variable_2 + + i=16122 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16122 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + Variable_2 + + i=16123 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + 16123 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=16124 + + + 0 + SetPosition + + + i=47 + + + i=11593 + + 16124 + true + true + + Variable_2 + + i=16160 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16160 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + i=296 1 - 0 + 2 1 1 - - - - - Variable_2 - - i=25706 - - - 0 - ApplicationUri - - - i=46 - - - i=68 - - 25706 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=25725 - - - 0 - ProductUri - - - i=46 - - - i=68 - - 25725 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=25707 - - - 0 - ApplicationType - - - i=46 - - - i=68 - - 25707 - - i=307 - - -1 - 1 - 1 - - - Variable_2 - - i=12710 - - - 0 - ServerCapabilities - - - i=46 - - - i=68 - - 12710 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=12639 - - - 0 - SupportedPrivateKeyFormats - - - i=46 - - - i=68 - - 12639 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=12640 - - - 0 - MaxTrustListSize - - - i=46 - - - i=68 - - 12640 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=12641 - - - 0 - MulticastDnsEnabled - - - i=46 - - - i=68 - - 12641 - - i=1 - - -1 - 1 - 1 - - - Variable_2 - - i=23597 - - - 0 - HasSecureElement - - - i=46 - - - i=68 - - 23597 - - i=1 - - -1 - 1 - 1 - - - Method_4 - - i=13737 - - - 0 - UpdateCertificate - - - i=47 - - - i=12616 - - 13737 - true - true - + + + Variable_2 - i=13738 + i=16283 0 - InputArguments + LastUpdateTime i=46 @@ -72729,121 +77611,22 @@ i=68 - 13738 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - + 16283 - i=296 + i=294 - 1 - 6 + -1 1 1 - - + + Variable_2 - i=13739 + i=16306 0 - OutputArguments + CurrentVersion i=46 @@ -72851,101 +77634,22 @@ i=68 - 13739 - - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - + 16306 - i=296 + i=20998 - 1 - 1 + -1 1 1 - - - - Method_4 - - i=12740 - - - 0 - ApplyChanges - - - i=47 - - - i=12734 - - 12740 - true - true - - - Method_4 - - i=25708 - - - 0 - CancelChanges - - - i=47 - - - i=25698 - - 25708 - true - true - - - Method_4 - - i=12737 - - - 0 - CreateSigningRequest - - - i=47 - - - i=12731 - - 12737 - true - true - + + Variable_2 - i=12738 + i=16315 0 - InputArguments + ActivityTimeout i=46 @@ -72953,104 +77657,22 @@ i=68 - 12738 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - SubjectName - - i=12 - - -1 - - - - - - - i=297 - - - - RegeneratePrivateKey - - i=1 - - -1 - - - - - - - i=297 - - - - Nonce - - i=15 - - -1 - - - - - - - + 16315 - i=296 + i=290 - 1 - 5 + -1 1 1 - - + + Variable_2 - i=12739 + i=16316 0 - OutputArguments + SupportedDataType i=46 @@ -73058,63 +77680,313 @@ i=68 - 12739 - + 16316 + + i=17 + + -1 + 1 + 1 + + + Method_4 + + i=16320 + + + 0 + ConfirmUpdate + + + i=47 + + + i=15508 + + 16320 + true + true + + Variable_2 + + i=16321 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16321 - - - - i=297 - - - - CertificateRequest - - i=15 - - -1 - - - - - + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + - + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=16317 + + + 0 + CloseAndUpdate + + + i=47 + + + i=15505 + + 16317 + true + true + + Variable_2 + + i=16318 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 16318 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + i=297 + + + + VersionToUpdate + + i=20998 + + -1 + + + + + + + i=297 + + + + Targets + + i=15538 + + 1 + + 0 + + + + + + + i=297 + + + + RevertAfterTime + + i=290 + + -1 + + + + + + + i=297 + + + + RestartDelayTime + + i=290 + + -1 + + + + + + + + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=16319 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + 16319 + + + + + + i=297 + + + + UpdateResults + + i=19 + + 1 + + 0 + + + + + + + i=297 + + + + NewVersion + + i=20998 + + -1 + + + + + + + i=297 + + + + UpdateId + + i=14 + + -1 + + + + + + + + + i=296 + + 1 + 3 + 1 + 1 + + + + Variable_2 + + i=16652 + + + 0 + AvailableNetworks + + + i=46 + + + i=68 + + 16652 - i=296 + i=12 1 - 1 + 0 1 1 - - - - Method_4 - - i=12777 - - - 0 - GetRejectedList - - - i=47 - - - i=12775 - - 12777 - true - true - + + Variable_2 - i=12778 + i=16653 0 - OutputArguments + AvailablePorts i=46 @@ -73122,82 +77994,22 @@ i=68 - 12778 - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - + 16653 - i=296 + i=291 - 1 - 1 + -1 1 1 - - - - Method_4 - - i=25709 - - - 0 - ResetToServerDefaults - - - i=47 - - - i=25699 - - 25709 - true - true - - - Object_1 - - i=32336 - - - 0 - TransactionDiagnostics - - - i=47 - - - i=32286 - - 32336 - + + Variable_2 - i=32337 + i=19442 0 - StartTime + MaxEndpoints i=46 @@ -73205,22 +78017,22 @@ i=68 - 32337 + 19442 - i=294 + i=5 -1 1 1 - - + + Variable_2 - i=32338 + i=19443 0 - EndTime + MaxCertificateGroups i=46 @@ -73228,22 +78040,22 @@ i=68 - 32338 + 19443 - i=294 + i=5 -1 1 1 - - + + Variable_2 - i=32339 + i=16654 0 - Result + SecurityPolicyUris i=46 @@ -73251,22 +78063,23 @@ i=68 - 32339 + 16654 - i=19 + i=23751 - -1 + 1 + 0 1 1 - - + + Variable_2 - i=32340 + i=16655 0 - AffectedTrustLists + UserTokenTypes i=46 @@ -73274,23 +78087,23 @@ i=68 - 32340 + 16655 - i=17 + i=304 1 0 1 1 - - + + Variable_2 - i=32341 + i=16656 0 - AffectedCertificateGroups + CertificateTypes i=46 @@ -73298,7 +78111,7 @@ i=68 - 32341 + 16656 i=17 @@ -73306,15 +78119,15 @@ 0 1 1 - - + + Variable_2 - i=32342 + i=19444 0 - Errors + CertificateGroupPurposes i=46 @@ -73322,16 +78135,16 @@ i=68 - 32342 + 19444 - i=32285 + i=17 1 0 1 1 - - + + ObjectType_8 @@ -74518,6 +79331,88 @@ 1 + + DataType_64 + + i=19445 + + + 0 + AuthorizationServiceConfigurationDataType + + + i=15435 + + + + i=14798 + + + + + i=15435 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + RecordProperties + + i=14533 + + 1 + + 0 + + 0 + false + + + ServiceUri + + i=23751 + + -1 + + 0 + false + + + ServiceCertificate + + i=15 + + 1 + + 0 + + 0 + false + + + IssuerEndpointSettings + + i=12 + + -1 + + 0 + false + + + + + + ObjectType_8 @@ -116888,78 +121783,26 @@ i=12 - + ObjectType_8 - i=25731 + i=26871 0 - ApplicationConfigurationType + ProvisionableDeviceType - i=12581 + i=58 - - Variable_2 - - i=26850 - - - 0 - ApplicationUri - - - i=46 - - - i=68 - - - i=78 - - 26850 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=26851 - - - 0 - ProductUri - - - i=46 - - - i=68 - - - i=78 - - 26851 - - i=23751 - - -1 - 1 - 1 - - + Variable_2 - i=26852 + i=26872 0 - ApplicationType + IsSingleton i=46 @@ -116970,242 +121813,828 @@ i=78 - 26852 + 26872 - i=307 + i=1 -1 1 1 - - - Variable_2 + + + Method_4 - i=26849 + i=26873 0 - Enabled + RequestTickets - i=46 + i=47 - i=68 + i=26873 i=78 - 26849 - - i=1 - - -1 - 1 - 1 - - - - ObjectType_8 - - i=26871 - - - 0 - ProvisionableDeviceType - - - i=58 - - - Variable_2 + 26873 + true + true + + Variable_2 + + i=26874 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 26874 + + + + + + i=297 + + + + Tickets + + i=25726 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 - i=26872 + i=26875 0 - IsSingleton + SetRegistrarEndpoints - i=46 + i=47 - i=68 + i=26875 - i=78 + i=80 - 26872 - - i=1 - - -1 - 1 - 1 - - - Method_4 + 26875 + true + true + + Variable_2 + + i=26876 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 26876 + + + + + + i=297 + + + + Registrars + + i=308 + + 1 + + 0 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Object_1 - i=26873 + i=26878 0 - RequestTickets + <ApplicationName> i=47 - i=26873 + i=25731 - i=78 + i=11508 - 26873 - true - true - + 26878 + + Variable_2 + + i=27997 + + + 0 + ApplicationUri + + + i=46 + + + i=68 + + + i=78 + + 27997 + + i=23751 + + -1 + 1 + 1 + + + Variable_2 + + i=27998 + + + 0 + ProductUri + + + i=46 + + + i=68 + + + i=78 + + 27998 + + i=23751 + + -1 + 1 + 1 + + Variable_2 - i=26874 + i=27999 + + + 0 + ApplicationType + + + i=46 + + + i=68 + + + i=78 + + 27999 + + i=307 + + -1 + 1 + 1 + + + Variable_2 + + i=28000 + + + 0 + ServerCapabilities + + + i=46 + + + i=68 + + + i=78 + + 28000 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=28001 + + + 0 + SupportedPrivateKeyFormats + + + i=46 + + + i=68 + + + i=78 + + 28001 + + i=12 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=28002 + + + 0 + MaxTrustListSize + + + i=46 + + + i=68 + + + i=78 + + 28002 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=28003 + + + 0 + MulticastDnsEnabled + + + i=46 + + + i=68 + + + i=78 + + 28003 + + i=1 + + -1 + 1 + 1 + + + Method_4 + + i=28005 + + + 0 + UpdateCertificate + + + i=47 + + + i=12616 + + + i=78 + + 28005 + true + true + + Variable_2 + + i=28006 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 28006 + + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + 0 + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=28007 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 28007 + + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 + + i=28008 0 - OutputArguments + ApplyChanges - i=46 + i=47 - i=68 + i=12734 i=78 - 26874 - + 28008 + true + true + + + Method_4 + + i=28010 + + + 0 + CreateSigningRequest + + + i=47 + + + i=12731 + + + i=78 + + 28010 + true + true + + Variable_2 + + i=28011 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 28011 - - - - i=297 - - - - Tickets - - i=25726 - - 1 - - 0 - - - - - + + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + i=297 + + + + SubjectName + + i=12 + + -1 + + + + + + + i=297 + + + + RegeneratePrivateKey + + i=1 + + -1 + + + + + + + i=297 + + + + Nonce + + i=15 + + -1 + + + + + + - - - i=296 - - 1 - 1 - 1 - 1 - - - - Method_4 - - i=26875 - - - 0 - SetRegistrarEndpoints - - - i=47 - - - i=26875 - - - i=80 - - 26875 - true - true - - Variable_2 + + i=296 + + 1 + 5 + 1 + 1 + + + Variable_2 + + i=28012 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 28012 + + + + + + i=297 + + + + CertificateRequest + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 1 + 1 + 1 + + + + Method_4 - i=26876 + i=28013 0 - InputArguments + GetRejectedList - i=46 + i=47 - i=68 + i=12775 i=78 - 26876 - + 28013 + true + true + + Variable_2 + + i=28014 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 28014 - - - - i=297 - - - - Registrars - - i=308 - - 1 - - 0 - - - - - + + + + + i=297 + + + + Certificates + + i=15 + + 1 + + 0 + + + + + + - - - i=296 - - 1 - 1 - 1 - 1 - - - - Object_1 - - i=26878 - - - 0 - <ApplicationName> - - - i=47 - - - i=25731 - - - i=11508 - - 26878 + + i=296 + + 1 + 1 + 1 + 1 + + Object_1 @@ -118438,657 +123867,6 @@ - - Variable_2 - - i=27997 - - - 0 - ApplicationUri - - - i=46 - - - i=68 - - - i=78 - - 27997 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=27998 - - - 0 - ProductUri - - - i=46 - - - i=68 - - - i=78 - - 27998 - - i=23751 - - -1 - 1 - 1 - - - Variable_2 - - i=27999 - - - 0 - ApplicationType - - - i=46 - - - i=68 - - - i=78 - - 27999 - - i=307 - - -1 - 1 - 1 - - - Variable_2 - - i=28000 - - - 0 - ServerCapabilities - - - i=46 - - - i=68 - - - i=78 - - 28000 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=28001 - - - 0 - SupportedPrivateKeyFormats - - - i=46 - - - i=68 - - - i=78 - - 28001 - - i=12 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=28002 - - - 0 - MaxTrustListSize - - - i=46 - - - i=68 - - - i=78 - - 28002 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=28003 - - - 0 - MulticastDnsEnabled - - - i=46 - - - i=68 - - - i=78 - - 28003 - - i=1 - - -1 - 1 - 1 - - - Method_4 - - i=28005 - - - 0 - UpdateCertificate - - - i=47 - - - i=12616 - - - i=78 - - 28005 - true - true - - Variable_2 - - i=28006 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 28006 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - 0 - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 6 - 1 - 1 - - - Variable_2 - - i=28007 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 28007 - - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - - Method_4 - - i=28008 - - - 0 - ApplyChanges - - - i=47 - - - i=12734 - - - i=78 - - 28008 - true - true - - - Method_4 - - i=28010 - - - 0 - CreateSigningRequest - - - i=47 - - - i=12731 - - - i=78 - - 28010 - true - true - - Variable_2 - - i=28011 - - - 0 - InputArguments - - - i=46 - - - i=68 - - - i=78 - - 28011 - - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - i=297 - - - - SubjectName - - i=12 - - -1 - - - - - - - i=297 - - - - RegeneratePrivateKey - - i=1 - - -1 - - - - - - - i=297 - - - - Nonce - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 5 - 1 - 1 - - - Variable_2 - - i=28012 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 28012 - - - - - - i=297 - - - - CertificateRequest - - i=15 - - -1 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - - - Method_4 - - i=28013 - - - 0 - GetRejectedList - - - i=47 - - - i=12775 - - - i=78 - - 28013 - true - true - - Variable_2 - - i=28014 - - - 0 - OutputArguments - - - i=46 - - - i=68 - - - i=78 - - 28014 - - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - 0 - - - - - - - - - i=296 - - 1 - 1 - 1 - 1 - - Variable_2 @@ -125011,11 +129789,1074 @@ Variable_2 - i=19008 + i=19008 + + + 0 + SystemCapabilitiesEnabled + + + i=46 + + + i=68 + + + i=80 + + 19008 + + i=18956 + + -1 + 1 + 1 + + + + ObjectType_8 + + i=19009 + + + 0 + LldpPortInformationType + + + i=58 + + + Variable_2 + + i=19010 + + + 0 + IetfBaseNetworkInterfaceName + + + i=46 + + + i=68 + + + i=78 + + 19010 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19011 + + + 0 + DestMacAddress + + + i=46 + + + i=68 + + + i=78 + + 19011 + + i=3 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=19012 + + + 0 + PortIdSubtype + + + i=46 + + + i=68 + + + i=78 + + 19012 + + i=18949 + + -1 + 1 + 1 + + + Variable_2 + + i=19013 + + + 0 + PortId + + + i=46 + + + i=68 + + + i=78 + + 19013 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19014 + + + 0 + PortDescription + + + i=46 + + + i=68 + + + i=80 + + 19014 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19015 + + + 0 + ManagementAddressTxPort + + + i=46 + + + i=68 + + + i=80 + + 19015 + + i=18953 + + 1 + 0 + 1 + 1 + + + Object_1 + + i=19016 + + + 0 + RemoteSystemsData + + + i=47 + + + i=61 + + + i=80 + + 19016 + + Object_1 + + i=19017 + + + 0 + <LldpRemoteSystem> + + + i=35 + + + i=19033 + + + i=11508 + + 19017 + + Variable_2 + + i=19018 + + + 0 + TimeMark + + + i=47 + + + i=63 + + + i=78 + + 19018 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=19019 + + + 0 + RemoteIndex + + + i=47 + + + i=63 + + + i=78 + + 19019 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=19020 + + + 0 + ChassisIdSubtype + + + i=47 + + + i=63 + + + i=78 + + 19020 + + i=18947 + + -1 + 1 + 1 + + + Variable_2 + + i=19021 + + + 0 + ChassisId + + + i=47 + + + i=63 + + + i=78 + + 19021 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19022 + + + 0 + PortIdSubtype + + + i=47 + + + i=63 + + + i=78 + + 19022 + + i=18949 + + -1 + 1 + 1 + + + Variable_2 + + i=19023 + + + 0 + PortId + + + i=47 + + + i=63 + + + i=78 + + 19023 + + i=12 + + -1 + 1 + 1 + + + + + + ObjectType_8 + + i=19033 + + + 0 + LldpRemoteSystemType + + + i=58 + + + Variable_2 + + i=19034 + + + 0 + TimeMark + + + i=47 + + + i=63 + + + i=78 + + 19034 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=19035 + + + 0 + RemoteIndex + + + i=47 + + + i=63 + + + i=78 + + 19035 + + i=7 + + -1 + 1 + 1 + + + Variable_2 + + i=19036 + + + 0 + ChassisIdSubtype + + + i=47 + + + i=63 + + + i=78 + + 19036 + + i=18947 + + -1 + 1 + 1 + + + Variable_2 + + i=19037 + + + 0 + ChassisId + + + i=47 + + + i=63 + + + i=78 + + 19037 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19038 + + + 0 + PortIdSubtype + + + i=47 + + + i=63 + + + i=78 + + 19038 + + i=18949 + + -1 + 1 + 1 + + + Variable_2 + + i=19039 + + + 0 + PortId + + + i=47 + + + i=63 + + + i=78 + + 19039 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19040 + + + 0 + PortDescription + + + i=47 + + + i=63 + + + i=80 + + 19040 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19041 + + + 0 + SystemName + + + i=47 + + + i=63 + + + i=80 + + 19041 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19042 + + + 0 + SystemDescription + + + i=47 + + + i=63 + + + i=80 + + 19042 + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19043 + + + 0 + SystemCapabilitiesSupported + + + i=47 + + + i=63 + + + i=80 + + 19043 + + i=18956 + + -1 + 1 + 1 + + + Variable_2 + + i=19044 + + + 0 + SystemCapabilitiesEnabled + + + i=47 + + + i=63 + + + i=80 + + 19044 + + i=18956 + + -1 + 1 + 1 + + + Variable_2 + + i=19045 + + + 0 + RemoteChanges + + + i=47 + + + i=63 + + + i=80 + + 19045 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=19046 + + + 0 + RemoteTooManyNeighbors + + + i=47 + + + i=63 + + + i=80 + + 19046 + + i=1 + + -1 + 1 + 1 + + + Variable_2 + + i=19047 + + + 0 + ManagementAddress + + + i=47 + + + i=63 + + + i=80 + + 19047 + + i=18954 + + 1 + 0 + 1 + 1 + + + Variable_2 + + i=19078 + + + 0 + RemoteUnknownTlv + + + i=47 + + + i=63 + + + i=80 + + 19078 + + i=18955 + + 1 + 0 + 1 + 1 + + + + ReferenceType_32 + + i=25237 + + + 0 + UsesPriorityMappingTable + + + i=32 + + + UsedByNetworkInterface + + + + ReferenceType_32 + + i=25238 + + + 0 + HasLowerLayerInterface + + + i=33 + + + HasHigherLayerInterface + + + + ReferenceType_32 + + i=25253 + + + 0 + IsExecutableOn + + + i=32 + + + CanExecute + + + + ReferenceType_32 + + i=25254 + + + 0 + Controls + + + i=33 + + + IsControlledBy + + + + ReferenceType_32 + + i=25255 + + + 0 + Utilizes + + + i=32 + + + IsUtilizedBy + + + + ReferenceType_32 + + i=25265 + + + 0 + IsExecutingOn + + + i=25255 + + + Executes + + + + ReferenceType_32 + + i=25256 + + + 0 + Requires + + + i=33 + + + IsRequiredBy + + + + ReferenceType_32 + + i=25257 + + + 0 + IsPhysicallyConnectedTo + + + i=32 + + true + + + ReferenceType_32 + + i=25258 + + + 0 + RepresentsSameEntityAs + + + i=32 + + true + + + ReferenceType_32 + + i=25259 + + + 0 + RepresentsSameHardwareAs + + + i=25258 + + true + + + ReferenceType_32 + + i=25260 + + + 0 + RepresentsSameFunctionalityAs + + + i=25258 + + true + + + ReferenceType_32 + + i=25261 + + + 0 + IsHostedBy + + + i=25255 + + + Hosts + + + + ReferenceType_32 + + i=25262 + + + 0 + HasPhysicalComponent + + + i=47 + + + PhysicalComponentOf + + + + ReferenceType_32 + + i=25263 + + + 0 + HasContainedComponent + + + i=25262 + + + ContainedComponentOf + + + + ReferenceType_32 + + i=25264 + + + 0 + HasAttachedComponent + + + i=25262 + + + AttachedComponentOf + + + + ReferenceType_32 + + i=32679 + + + 0 + HasReferenceDescription + + + i=34 + + + ReferenceDescriptionOf + + + + VariableType_16 + + i=32657 + + + 0 + ReferenceDescriptionVariableType + + + i=63 + + + i=32659 + + -1 + + Variable_2 + + i=32658 0 - SystemCapabilitiesEnabled + ReferenceRefinement i=46 @@ -125026,114 +130867,370 @@ i=80 - 19008 + 32658 - i=18956 + i=32660 - -1 + 1 + 0 1 1 - - - + + + + DataType_64 + + i=32659 + + + 0 + ReferenceDescriptionDataType + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + SourceNode + + i=17 + + -1 + + 0 + false + + + ReferenceType + + i=17 + + -1 + + 0 + false + + + IsForward + + i=1 + + -1 + + 0 + false + + + TargetNode + + i=18 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=32660 + + + 0 + ReferenceListEntryDataType + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + ReferenceType + + i=17 + + -1 + + 0 + false + + + IsForward + + i=1 + + -1 + + 0 + false + + + TargetNode + + i=18 + + -1 + + 0 + false + + + + + + + ObjectType_8 - i=19009 + i=19352 0 - LldpPortInformationType + LogObjectType i=58 - - Variable_2 - - i=19010 - - - 0 - IetfBaseNetworkInterfaceName - - - i=46 - - - i=68 - - - i=78 - - 19010 - - i=12 - - -1 - 1 - 1 - - - Variable_2 - - i=19011 - - - 0 - DestMacAddress - - - i=46 - - - i=68 - - - i=78 - - 19011 - - i=3 - - 1 - 6 - 1 - 1 - - - Variable_2 + + Method_4 - i=19012 + i=19353 0 - PortIdSubtype + GetRecords - i=46 + i=47 - i=68 + i=19353 i=78 - 19012 - - i=18949 - - -1 - 1 - 1 - - + 19353 + true + true + + Variable_2 + + i=19354 + + + 0 + InputArguments + + + i=46 + + + i=68 + + + i=78 + + 19354 + + + + + + i=297 + + + + StartTime + + i=13 + + -1 + + + + + + + i=297 + + + + EndTime + + i=13 + + -1 + + + + + + + i=297 + + + + MaxReturnRecords + + i=7 + + -1 + + + + + + + i=297 + + + + MinimumSeverity + + i=5 + + -1 + + + + + + + i=297 + + + + RequestMask + + i=19749 + + -1 + + + + + + + i=297 + + + + ContinuationPointIn + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=19355 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + + i=78 + + 19355 + + + + + + i=297 + + + + Results + + i=19745 + + -1 + + + + + + + i=297 + + + + ContinuationPointOut + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + Variable_2 - i=19013 + i=19356 0 - PortId + MaxRecords i=46 @@ -125142,24 +131239,24 @@ i=68 - i=78 + i=80 - 19013 + 19356 - i=12 + i=7 -1 1 1 - - + + Variable_2 - i=19014 + i=19357 0 - PortDescription + MaxStorageDuration i=46 @@ -125170,22 +131267,22 @@ i=80 - 19014 + 19357 - i=12 + i=290 -1 1 1 - - + + Variable_2 - i=19015 + i=19744 0 - ManagementAddressTxPort + MinimumSeverity i=46 @@ -125196,889 +131293,859 @@ i=80 - 19015 + 19744 - i=18953 + i=5 - 1 - 0 + -1 1 1 - - - Object_1 - - i=19016 - - - 0 - RemoteSystemsData - - - i=47 - - - i=61 - - - i=80 - - 19016 - - Object_1 - - i=19017 - - - 0 - <LldpRemoteSystem> - - - i=35 - - - i=19033 - - - i=11508 - - 19017 - - Variable_2 - - i=19018 - - - 0 - TimeMark - - - i=47 - - - i=63 - - - i=78 - - 19018 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=19019 - - - 0 - RemoteIndex - - - i=47 - - - i=63 - - - i=78 - - 19019 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=19020 - - - 0 - ChassisIdSubtype - - - i=47 - - - i=63 - - - i=78 - - 19020 - - i=18947 - - -1 - 1 - 1 - - - Variable_2 - - i=19021 - - - 0 - ChassisId - - - i=47 - - - i=63 - - - i=78 - - 19021 - - i=12 - - -1 - 1 - 1 - - - Variable_2 - - i=19022 - - - 0 - PortIdSubtype - - - i=47 - - - i=63 - - - i=78 - - 19022 - - i=18949 - - -1 - 1 - 1 - - - Variable_2 - - i=19023 - - - 0 - PortId - - - i=47 - - - i=63 - - - i=78 - - 19023 - - i=12 - - -1 - 1 - 1 - - - - - - ObjectType_8 + + + + DataType_64 - i=19033 + i=19361 0 - LldpRemoteSystemType + LogRecord - i=58 + i=22 - - Variable_2 - - i=19034 - - - 0 - TimeMark - - - i=47 - - - i=63 - - - i=78 - - 19034 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=19035 - - - 0 - RemoteIndex - - - i=47 - - - i=63 - - - i=78 - - 19035 - - i=7 - - -1 - 1 - 1 - - - Variable_2 - - i=19036 - - - 0 - ChassisIdSubtype - - - i=47 - - - i=63 - - - i=78 - - 19036 - - i=18947 - - -1 - 1 - 1 - - + + + i=14798 + + + + + i=22 + + StructureWithOptionalFields_1 + + + Time + + i=13 + + -1 + + 0 + false + + + Severity + + i=5 + + -1 + + 0 + false + + + EventType + + i=17 + + -1 + + 0 + true + + + SourceNode + + i=17 + + -1 + + 0 + true + + + SourceName + + i=12 + + -1 + + 0 + true + + + Message + + i=21 + + -1 + + 0 + false + + + TraceContext + + i=19747 + + -1 + + 0 + true + + + AdditionalData + + i=19748 + + 1 + + 0 + + 0 + true + + + + + + + + DataType_64 + + i=19745 + + + 0 + LogRecordsDataType + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + LogRecordArray + + i=19361 + + 1 + + 0 + + 0 + false + + + + + + + + DataType_64 + + i=19746 + + + 0 + SpanContextDataType + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + TraceId + + i=14 + + -1 + + 0 + false + + + SpanId + + i=9 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=19747 + + + 0 + TraceContextDataType + + + i=19746 + + + + i=14798 + + + + + i=19746 + + Structure_0 + + + TraceId + + i=14 + + -1 + + 0 + false + + + SpanId + + i=9 + + -1 + + 0 + false + + + ParentSpanId + + i=9 + + -1 + + 0 + false + + + ParentIdentifier + + i=12 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=19748 + + + 0 + NameValuePair + + + i=22 + + + + i=14798 + + + + + i=22 + + Structure_0 + + + Name + + i=12 + + -1 + + 0 + false + + + Value + + i=24 + + -1 + + 0 + false + + + + + + + + DataType_64 + + i=19749 + + + 0 + LogRecordMask + + + i=7 + + + + i=14799 + + + + + + 0 + + EventType + + EventType + + + 1 + + SourceNode + + SourceNode + + + 2 + + SourceName + + SourceName + + + 3 + + TraceContext + + TraceContext + + + 4 + + AdditionalData + + AdditionalData + + + + + + Variable_2 - i=19037 + i=19750 0 - ChassisId + OptionSetValues - i=47 + i=46 - i=63 + i=68 - - i=78 - - 19037 + 19750 + + + + + EventType + + + SourceNode + + + SourceName + + + TraceContext + + + AdditionalData + + + + - i=12 + i=21 - -1 + 1 + 5 1 1 - - + + + + ObjectType_8 + + i=19362 + + + 0 + BaseLogEventType + + + i=2041 + + true + Variable_2 - i=19038 + i=19363 0 - PortIdSubtype + ConditionClassId - i=47 + i=46 - i=63 + i=68 i=78 - 19038 + 19363 - i=18949 + i=17 -1 1 1 - - + + Variable_2 - i=19039 + i=19364 0 - PortId + ConditionClassName - i=47 + i=46 - i=63 + i=68 i=78 - 19039 - - i=12 - - -1 - 1 - 1 - - - Variable_2 - - i=19040 - - - 0 - PortDescription - - - i=47 - - - i=63 - - - i=80 - - 19040 - - i=12 - - -1 - 1 - 1 - - - Variable_2 - - i=19041 - - - 0 - SystemName - - - i=47 - - - i=63 - - - i=80 - - 19041 + 19364 - i=12 + i=21 -1 1 1 - - + + Variable_2 - i=19042 + i=19365 0 - SystemDescription + ErrorCode - i=47 + i=46 - i=63 + i=68 i=80 - 19042 + 19365 - i=12 + i=19 -1 1 1 - - + + Variable_2 - i=19043 + i=19366 0 - SystemCapabilitiesSupported + ErrorCodeNode - i=47 + i=46 - i=63 + i=68 i=80 - 19043 + 19366 - i=18956 + i=17 -1 1 1 - - - Variable_2 + + + + ObjectType_8 + + i=19369 + + + 0 + LogOverflowEventType + + + i=2041 + + true + + + ObjectType_8 + + i=19370 + + + 0 + LogEntryConditionClassType + + + i=11163 + + true + + + Object_1 + + i=19372 + + + 0 + ServerLog + + + i=47 + + + i=19352 + + 19372 + + + + i=47 + + true + + i=2253 + + + + + Method_4 - i=19044 + i=19373 0 - SystemCapabilitiesEnabled + GetRecords i=47 - i=63 + i=19353 - - i=80 - - 19044 - - i=18956 - - -1 - 1 - 1 - - + 19373 + true + true + + Variable_2 + + i=19374 + + + 0 + InputArguments + + + i=46 + + + i=68 + + 19374 + + + + + + i=297 + + + + StartTime + + i=13 + + -1 + + + + + + + i=297 + + + + EndTime + + i=13 + + -1 + + + + + + + i=297 + + + + MaxReturnRecords + + i=7 + + -1 + + + + + + + i=297 + + + + MinimumSeverity + + i=5 + + -1 + + + + + + + i=297 + + + + RequestMask + + i=19749 + + -1 + + + + + + + i=297 + + + + ContinuationPointIn + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 6 + 1 + 1 + + + Variable_2 + + i=19375 + + + 0 + OutputArguments + + + i=46 + + + i=68 + + 19375 + + + + + + i=297 + + + + Results + + i=19745 + + -1 + + + + + + + i=297 + + + + ContinuationPointOut + + i=15 + + -1 + + + + + + + + + i=296 + + 1 + 2 + 1 + 1 + + + Variable_2 - i=19045 + i=19376 0 - RemoteChanges + MaxRecords - i=47 + i=46 - i=63 + i=68 - - i=80 - - 19045 + 19376 - i=1 + i=7 -1 1 1 - - + + Variable_2 - i=19046 + i=19377 0 - RemoteTooManyNeighbors + MaxStorageDuration - i=47 + i=46 - i=63 + i=68 - - i=80 - - 19046 + 19377 - i=1 + i=290 -1 1 1 - - - Variable_2 - - i=19047 - - - 0 - ManagementAddress - - - i=47 - - - i=63 - - - i=80 - - 19047 - - i=18954 - - 1 - 0 - 1 - 1 - - - Variable_2 - - i=19078 - - - 0 - RemoteUnknownTlv - - - i=47 - - - i=63 - - - i=80 - - 19078 - - i=18955 - - 1 - 0 - 1 - 1 - - - - ReferenceType_32 - - i=25237 - - - 0 - UsesPriorityMappingTable - - - i=32 - - - UsedByNetworkInterface - - - - ReferenceType_32 - - i=25238 - - - 0 - HasLowerLayerInterface - - - i=33 - - - HasHigherLayerInterface - - - - ReferenceType_32 - - i=25253 - - - 0 - IsExecutableOn - - - i=32 - - - CanExecute - - - - ReferenceType_32 - - i=25254 - - - 0 - Controls - - - i=33 - - - IsControlledBy - - - - ReferenceType_32 - - i=25255 - - - 0 - Utilizes - - - i=32 - - - IsUtilizedBy - - - - ReferenceType_32 - - i=25265 - - - 0 - IsExecutingOn - - - i=25255 - - - Executes - - - - ReferenceType_32 - - i=25256 - - - 0 - Requires - - - i=33 - - - IsRequiredBy - - - - ReferenceType_32 - - i=25257 - - - 0 - IsPhysicallyConnectedTo - - - i=32 - - true - - - ReferenceType_32 - - i=25258 - - - 0 - RepresentsSameEntityAs - - - i=32 - - true - - - ReferenceType_32 - - i=25259 - - - 0 - RepresentsSameHardwareAs - - - i=25258 - - true - - - ReferenceType_32 - - i=25260 - - - 0 - RepresentsSameFunctionalityAs - - - i=25258 - - true - - - ReferenceType_32 - - i=25261 - - - 0 - IsHostedBy - - - i=25255 - - - Hosts - - - - ReferenceType_32 - - i=25262 - - - 0 - HasPhysicalComponent - - - i=47 - - - PhysicalComponentOf - - - - ReferenceType_32 - - i=25263 - - - 0 - HasContainedComponent - - - i=25262 - - - ContainedComponentOf - - - - ReferenceType_32 - - i=25264 - - - 0 - HasAttachedComponent - - - i=25262 - - - AttachedComponentOf - - - - ReferenceType_32 - - i=32679 - - - 0 - HasReferenceDescription - - - i=34 - - - ReferenceDescriptionOf - - - - VariableType_16 - - i=32657 - - - 0 - ReferenceDescriptionVariableType - - - i=63 - - - i=32659 - - -1 - + + Variable_2 - i=32658 + i=19751 0 - ReferenceRefinement + MinimumSeverity i=46 @@ -126086,145 +132153,43 @@ i=68 - - i=80 - - 32658 + 19751 - i=32660 + i=5 - 1 - 0 + -1 1 1 - - - - DataType_64 - - i=32659 - - - 0 - ReferenceDescriptionDataType - - - i=22 - - - - i=14798 - - - - - i=22 - - Structure_0 - - - SourceNode - - i=17 - - -1 - - 0 - false - - - ReferenceType - - i=17 - - -1 - - 0 - false - - - IsForward - - i=1 - - -1 - - 0 - false - - - TargetNode - - i=18 - - -1 - - 0 - false - - - - - - - - DataType_64 + + + + Object_1 - i=32660 + i=19378 0 - ReferenceListEntryDataType + Logs - - i=22 - - - - i=14798 - - - - - i=22 - - Structure_0 - - - ReferenceType - - i=17 - - -1 - - 0 - false - - - IsForward - - i=1 - - -1 - - 0 - false - - - TargetNode - - i=18 - - -1 - - 0 - false - - - - - - + + i=47 + + + i=61 + + 19378 + + + + i=35 + + true + + i=24226 + + + + DataType_64 @@ -135744,6 +141709,138 @@ + + Object_1 + + i=16538 + + + 0 + Default Binary + + + i=76 + + 16538 + + + + i=38 + + true + + i=15434 + + + + + i=39 + + + i=16548 + + + + + + Object_1 + + i=16539 + + + 0 + Default Binary + + + i=76 + + 16539 + + + + i=38 + + true + + i=15435 + + + + + i=39 + + + i=16551 + + + + + + Object_1 + + i=16540 + + + 0 + Default Binary + + + i=76 + + 16540 + + + + i=38 + + true + + i=15436 + + + + + i=39 + + + i=16554 + + + + + + Object_1 + + i=16541 + + + 0 + Default Binary + + + i=76 + + 16541 + + + + i=38 + + true + + i=15538 + + + + + i=39 + + + i=16557 + + + + Object_1 @@ -135777,6 +141874,237 @@ + + Object_1 + + i=16542 + + + 0 + Default Binary + + + i=76 + + 16542 + + + + i=38 + + true + + i=15549 + + + + + i=39 + + + i=16564 + + + + + + Object_1 + + i=16543 + + + 0 + Default Binary + + + i=76 + + 16543 + + + + i=38 + + true + + i=15556 + + + + + i=39 + + + i=16567 + + + + + + Object_1 + + i=16544 + + + 0 + Default Binary + + + i=76 + + 16544 + + + + i=38 + + true + + i=15557 + + + + + i=39 + + + i=16570 + + + + + + Object_1 + + i=16545 + + + 0 + Default Binary + + + i=76 + + 16545 + + + + i=38 + + true + + i=15558 + + + + + i=39 + + + i=16578 + + + + + + Object_1 + + i=16546 + + + 0 + Default Binary + + + i=76 + + 16546 + + + + i=38 + + true + + i=15559 + + + + + i=39 + + + i=16581 + + + + + + Object_1 + + i=16547 + + + 0 + Default Binary + + + i=76 + + 16547 + + + + i=38 + + true + + i=15560 + + + + + i=39 + + + i=16584 + + + + + + Object_1 + + i=19752 + + + 0 + Default Binary + + + i=76 + + 19752 + + + + i=38 + + true + + i=19445 + + + + + i=39 + + + i=19757 + + + + Object_1 @@ -138417,6 +144745,171 @@ + + Object_1 + + i=19379 + + + 0 + Default Binary + + + i=76 + + 19379 + + + + i=38 + + true + + i=19361 + + + + + i=39 + + + i=19380 + + + + + + Object_1 + + i=19753 + + + 0 + Default Binary + + + i=76 + + 19753 + + + + i=38 + + true + + i=19745 + + + + + i=39 + + + i=19760 + + + + + + Object_1 + + i=19754 + + + 0 + Default Binary + + + i=76 + + 19754 + + + + i=38 + + true + + i=19746 + + + + + i=39 + + + i=19763 + + + + + + Object_1 + + i=19755 + + + 0 + Default Binary + + + i=76 + + 19755 + + + + i=38 + + true + + i=19747 + + + + + i=39 + + + i=19766 + + + + + + Object_1 + + i=19756 + + + 0 + Default Binary + + + i=76 + + 19756 + + + + i=38 + + true + + i=19748 + + + + + i=39 + + + i=19769 + + + + Object_1 @@ -141037,3084 +147530,3285 @@ YW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDZXJ0aWZpY2F0ZXMi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ3JscyIgVHlwZU5hbWU9Im9wYzpJ bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6 Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDcmxzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zYWN0aW9uRXJy -b3JUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXJyb3IiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWVzc2FnZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVTY2hlbWFI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFU -eXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVj -dHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5n -dGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlv -biIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1 -YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIFR5cGVOYW1lPSJ0bnM6 -U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0 -YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBT -b3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkVudW1EZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOkVudW1EZWZpbml0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1w -bGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy -Y2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VEYXRhVHlwZSIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBU -eXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 -RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj -ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh -Y2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg -VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1 -Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh -VHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu -dW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0 -YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTY2hlbWFMb2Nh -dGlvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -RmlsZUhlYWRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkZpbGVIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9P -ZkZpbGVIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0idWE6 -VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQb3J0YWJsZVF1YWxpZmllZE5hbWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlBvcnRhYmxlTm9kZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJhdG9yIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbm9taW5hdG9yIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJQdWJTdWJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlBhdXNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iT3BlcmF0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkVycm9yIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQ -cmVPcGVyYXRpb25hbCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgQmFzZVR5cGU9 -InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTmFt -ZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h -bWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFj -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RydWN0dXJlRGF0YVR5 -cGVzIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9P -ZlN0cnVjdHVyZURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbnVtRGF0 -YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW51 -bURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpFbnVtRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJO -b09mRW51bURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTaW1wbGVEYXRh -VHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaW1w -bGVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhG -aWVsZD0iTm9PZlNpbXBsZURhdGFUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp -b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkZpZWxkcyIgVHlwZU5hbWU9InRuczpGaWVsZE1ldGFEYXRhIiBMZW5ndGhGaWVsZD0iTm9PZkZp -ZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0i -b3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbiIg -VHlwZU5hbWU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpZWxkTWV0YURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJGaWVsZEZsYWdzIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZEZsYWdzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 -VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZlByb3BlcnRpZXMiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldEZpZWxkRmxh -Z3MiIExlbmd0aEluQml0cz0iMTYiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJQcm9tb3RlZEZpZWxkIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb25maWd1cmF0aW9uVmVyc2lv -bkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1ham9yVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hl -ZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExl -bmd0aEZpZWxkPSJOb09mRGF0YVNldEZvbGRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgVHlwZU5hbWU9InRu -czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRXh0ZW5zaW9uRmllbGRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFNvdXJjZSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9i -amVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVkVmFyaWFibGUiIFR5 -cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0lu -dGVydmFsSGludCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnN0aXR1dGVWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRhRGF0YVByb3BlcnRp -ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdWJsaXNo -ZWREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVi -bGlzaGVkRGF0YSIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBMZW5n -dGhGaWVsZD0iTm9PZlB1Ymxpc2hlZERhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RlZEZpZWxkcyIgVHlwZU5hbWU9InRuczpTaW1w -bGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdGVkRmllbGRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIi +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJhc2VDb25maWd1cmF0 +aW9uRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblByb3Bl +cnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZp +Z3VyYXRpb25Qcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVjb3Jk +UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlY29yZFByb3BlcnRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2VydGlmaWNhdGVHcm91cERhdGFUeXBlIiBCYXNl +VHlwZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNl +Q29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHVycG9zZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZDZXJ0aWZpY2F0ZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ2VydGlmaWNhdGVUeXBlcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZDZXJ0aWZpY2F0ZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklz +Q2VydGlmaWNhdGVBc3NpZ25lZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzQ2VydGlmaWNhdGVBc3NpZ25lZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiBM +ZW5ndGhGaWVsZD0iTm9PZklzQ2VydGlmaWNhdGVBc3NpZ25lZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbGlkYXRpb25PcHRpb25zIiBUeXBlTmFtZT0idG5zOlRydXN0TGlzdFZhbGlkYXRp +b25PcHRpb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhdGgiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5hbWU9 +InRuczpDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0 +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRPclJlcGxh +Y2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIg +VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iVHJhbnNhY3Rpb25FcnJvclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFcnJvciIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpCYXNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZp +Z3VyYXRpb25WZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOkJh +c2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29u +ZmlndXJhdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1 +ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbklkZW50aXR5IiBUeXBlTmFtZT0idG5zOkFwcGxp +Y2F0aW9uSWRlbnRpdHlEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDZXJ0 +aWZpY2F0ZUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNlcnRpZmljYXRlR3JvdXBzIiBUeXBlTmFtZT0idG5zOkNlcnRpZmljYXRlR3JvdXBEYXRh +VHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDZXJ0aWZpY2F0ZUdyb3VwcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6U2VydmVy +RW5kcG9pbnREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50RW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RW5kcG9pbnRzIiBUeXBlTmFtZT0i +dG5zOkVuZHBvaW50RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50RW5kcG9pbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5U2V0dGluZ3MiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVNldHRpbmdzIiBUeXBl +TmFtZT0idG5zOlNlY3VyaXR5U2V0dGluZ3NEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1 +cml0eVNldHRpbmdzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJUb2tlblNldHRp +bmdzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRv +a2VuU2V0dGluZ3MiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuU2V0dGluZ3NEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZVc2VyVG9rZW5TZXR0aW5ncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZBdXRob3JpemF0aW9uU2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBdXRob3JpemF0aW9uU2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6QXV0 +aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +QXV0aG9yaXphdGlvblNlcnZpY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRhVHlwZSIgQmFz +ZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6QmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExl +bmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZBcHBsaWNhdGlvbk5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIExlbmd0aEZpZWxkPSJOb09mQXBwbGljYXRpb25OYW1lcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZGRpdGlvbmFsU2VydmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mQWRkaXRpb25hbFNlcnZlcnMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRW5kcG9pbnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29y +ZERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBTb3VyY2VUeXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5h +bWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5ldHdvcmtOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlBvcnQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlckVuZHBv +aW50RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RW5kcG9pbnREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOkJh +c2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBM +ZW5ndGhGaWVsZD0iTm9PZlJlY29yZFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTmFt +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpFbmRwb2ludERhdGFUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9ydCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNv +dXJjZVR5cGU9InRuczpFbmRwb2ludERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVuZHBvaW50VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuZHBvaW50VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mRW5kcG9pbnRVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5U2V0 +dGluZ05hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlTZXR0aW5nTmFtZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0i +Tm9PZlNlY3VyaXR5U2V0dGluZ05hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNw +b3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mVXNlclRva2VuU2V0dGluZ05hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2V0dGluZ05hbWVzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyVG9rZW5TZXR0aW5nTmFtZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmV2ZXJzZUNvbm5lY3RVcmxzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2ZXJzZUNvbm5lY3RVcmxzIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXZlcnNlQ29ubmVjdFVybHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vj +dXJpdHlTZXR0aW5nc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVj +b3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlY29yZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBl +TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5TW9kZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGVzIiBUeXBlTmFt +ZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlNb2Rl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eVBvbGljeVVyaXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy +aXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5UG9saWN5 +VXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpCYXNlQ29uZmln +dXJhdGlvblJlY29yZERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlY29y +ZFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5U +eXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVHcm91cE5hbWUiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aG9yaXphdGlvblNlcnZp +Y2VOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdXRob3JpemF0aW9uU2VydmljZUNvbmZp +Z3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InRuczpCYXNlQ29uZmlndXJhdGlvblJlY29yZERh +dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBTb3VyY2VUeXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWNvcmRQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUmVjb3JkUHJvcGVydGllcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZpY2VDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZpY2VDZXJ0aWZp +Y2F0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckVuZHBvaW50U2V0dGluZ3MiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVO +YW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJl +RGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVz +IiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0 +YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBl +cyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +U2ltcGxlRGF0YVR5cGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpR +dWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFU +eXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 +cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24i IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1 -Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDeWNs -aWNEYXRhU2V0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0 -aW9uVGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkQWN0aW9u -RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3REYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0 -bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rp -b25UYXJnZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QWN0aW9uVGFyZ2V0cyIgVHlwZU5hbWU9InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZBY3Rpb25UYXJnZXRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjdGlvblN0YXRlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJZGxlIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRpbmciIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvbmUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF -bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGlvbk1ldGhv -ZERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkQWN0aW9uTWV0 -aG9kRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdERhdGFTZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpE -YXRhU2V0TWV0YURhdGFUeXBlIiBTb3VyY2VUeXBlPSJ0bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5 +ZT0iRW51bURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291 +cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFU +eXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGVmaW5pdGlvbiIg +VHlwZU5hbWU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1 +aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiBC +YXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBl +RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVBQmluYXJ5RmlsZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0 +dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5z +OkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9InRu +czpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0YVR5cGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2NoZW1hTG9jYXRpb24iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbGVIZWFkZXIiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWxlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWxlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQm9keSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUG9ydGFibGVR +dWFsaWZpZWROYW1lIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQb3J0YWJsZU5vZGVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lc3BhY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnNpZ25lZFJhdGlvbmFsTnVt +YmVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik51bWVyYXRvciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEZW5vbWluYXRvciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViU3RhdGUiIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBW +YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQYXVzZWQiIFZhbHVl +PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wZXJhdGlvbmFsIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjMi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJlT3BlcmF0aW9uYWwiIFZhbHVl +PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVTY2hlbWFI +ZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpT +dHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1l +PSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFt +ZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRh +VHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0 +bnM6RmllbGRNZXRhRGF0YSIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVOYW1lPSJ0bnM6Q29uZmln +dXJhdGlvblZlcnNpb25EYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZE1ldGFEYXRhIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRGbGFncyIgVHlw +ZU5hbWU9InRuczpEYXRhU2V0RmllbGRGbGFncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1 +aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZh +bHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmlu +Z0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0RmllbGRJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmll +bGQ9Ik5vT2ZQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFTZXRGaWVsZEZsYWdzIiBMZW5ndGhJbkJpdHM9IjE2 +IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u +ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRG +aWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYWpvclZlcnNpb24i +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWlub3JWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl +dEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh +dGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFT +ZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0YURhdGEiIFR5cGVO +YW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n +dGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh +dGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkRGF0 +YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNo +ZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhpbnQiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRUeXBlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVmFsdWUi +IFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5n +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzdGl0 +dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h +bWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFJ +dGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlw +ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERhdGEiIFR5cGVOYW1l +PSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNo +ZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hl +ZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlm +aWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNl +bGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRD +dXN0b21Tb3VyY2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNl +RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3ljbGljRGF0YVNldCIgVHlwZU5hbWU9 +Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkFjdGlvblRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblRhcmdldElkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXF1ZXN0RGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5 cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWN0aW9uVGFyZ2V0cyIgVHlwZU5hbWU9 Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblRhcmdldHMiIFR5cGVO YW1lPSJ0bnM6QWN0aW9uVGFyZ2V0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQWN0aW9uVGFy -Z2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rpb25NZXRob2RzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uTWV0aG9kcyIgVHlw -ZU5hbWU9InRuczpBY3Rpb25NZXRob2REYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25N -ZXRob2RzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09w -dGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzQ29kZSIgVmFs -dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlVGltZXN0YW1w -IiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXJUaW1l -c3RhbXAiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJj -ZVBpY29TZWNvbmRzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTZXJ2ZXJQaWNvU2Vjb25kcyIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlJhd0RhdGEiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3Jp -dGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1h -c2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXROYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJv -cGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRXcml0ZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5z -aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9 -InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2lu -dERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGll -cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9w -ZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBE -YXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQ -dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2Rl -IiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJT -dWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElk -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2Vy -dmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29y -a01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1 -Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0 -aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQ -cm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZH -cm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cElkIiBU -eXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJL -ZWVwQWxpdmVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZM -b2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIZWFkZXJMYXlvdXRVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGlu -Z3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpE -YXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVh -OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9u -UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRlckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0 -ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVy -R3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlv -blRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3Jr -QWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5l -dHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRh -VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdy -b3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z -OlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1l -c3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0 -bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZp -Y2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFt -ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIg +Z2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJBY3Rpb25TdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSWRsZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0aW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJEb25lIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3Rpb25NZXRob2REYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3REYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIg +U291cmNlVHlwZT0idG5zOlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkFjdGlvblRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0idG5zOkFjdGlvblRhcmdl +dERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkFjdGlvblRhcmdldHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mQWN0aW9uTWV0aG9kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvbk1ldGhvZHMiIFR5cGVOYW1lPSJ0bnM6QWN0aW9uTWV0 +aG9kRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQWN0aW9uTWV0aG9kcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll +bGRDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c0NvZGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBWYWx1ZT0iNCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2VQaWNvU2Vjb25kcyIgVmFsdWU9 +IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyUGljb1NlY29uZHMi +IFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSYXdEYXRhIiBW +YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy +aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 +V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 +TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 +aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 +cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ +dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz +YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z +OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGVhZGVyTGF5b3V0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRhdGFTZXRXcml0ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBl +IiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRXcml0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJTdWJDb25uZWN0aW9u +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29ubmVjdGlvblByb3BlcnRpZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25uZWN0aW9uUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlv +blByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIg VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlw -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9y -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRh -dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRh -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFz -ayIgVHlwZU5hbWU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkhlYWRlckxheW91dFVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1l -PSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy -aXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p -bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFJlYWRlclByb3Bl -cnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFT -ZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0 -dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgVHlwZU5hbWU9InVhOkV4dGVu -c2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIEJhc2VUeXBl +T2ZXcml0ZXJHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJXcml0ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6V3JpdGVyR3JvdXBEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZXcml0ZXJHcm91cHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVhZGVyR3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVhZGVyR3JvdXBzIiBUeXBlTmFtZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mUmVhZGVyR3JvdXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3Jr +SW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFU +eXBlIiBCYXNlVHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV0d29ya0ludGVyZmFjZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5 +cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBT +b3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRu +czpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv +dXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIi +IExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp +b25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFJlYWRlcnMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0UmVhZGVy +cyIgVHlwZU5hbWU9InRuczpEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +RGF0YVNldFJlYWRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpGaWVsZFRhcmdldERhdGFUeXBl -IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZFRhcmdldERhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgVHlwZU5hbWU9 -InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPdmVy -cmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmci -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2Fi -bGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMYXN0VXNh -YmxlVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik92 -ZXJyaWRlVmFsdWUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUi -IEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQYXJlbnROb2RlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJv -bGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi -U3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRzIiBUeXBl -TmFtZT0idG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJs -aXNoZWREYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9ucyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25z -IiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZDb25uZWN0aW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZEYXRhVHlwZSIg -QmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdGFuZGFsb25lU3Vi -c2NyaWJlZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERh -dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Rm9sZGVyIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRh -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgVHlw -ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZWN1cml0eUdyb3VwRGF0YVR5cGUiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlH -cm91cEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlY3VyaXR5R3JvdXBGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0i -Tm9PZlNlY3VyaXR5R3JvdXBGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlMaWZl -dGltZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNYXhGdXR1cmVLZXlDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhQYXN0S2V5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5 -cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJt -aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRp -ZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJv -cGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1c2hUYXJnZXRG -b2xkZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdXNo -VGFyZ2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdXNo -VGFyZ2V0Rm9sZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRv -a2VuVHlwZSIgVHlwZU5hbWU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWRLZXlDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXRyeUludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdXNoVGFyZ2V0UHJvcGVydGllcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1c2hUYXJnZXRQcm9wZXJ0aWVz -IiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdXNoVGFyZ2V0 -UHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eUdyb3VwcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3Jv -dXBzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3Vw -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1YkNv -bmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVk -RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -dWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUi -IExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0 -YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJT -dWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vi -c2NyaWJlZERhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3Vic2NyaWJlZERhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlN0YW5kYWxvbmVTdWJzY3Jp -YmVkRGF0YVNldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmliZWREYXRhU2V0cyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0Q2xhc3NlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc2VzIiBUeXBlTmFt -ZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldENsYXNz -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGVmYXVsdFNlY3VyaXR5S2V5U2Vydmlj -ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWZhdWx0 -U2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM -ZW5ndGhGaWVsZD0iTm9PZkRlZmF1bHRTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5R3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cHMiIFR5cGVOYW1lPSJ0bnM6U2VjdXJp -dHlHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5R3JvdXBzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1YlN1YktleVB1c2hUYXJnZXRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldHMiIFR5 -cGVOYW1lPSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9P -ZlB1YlN1YktleVB1c2hUYXJnZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJh -dGlvblZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0 -bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVz +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFt +ZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlckdyb3VwSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRl +cklkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT +ZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0 +YVNldEZpZWxkQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVj +ZWl2ZVRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIZWFkZXJMYXlvdXRVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0 +eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwSWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2Vy +dmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0 +aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5z +OktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdz +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaWJlZERhdGFTZXQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNl +dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJE +YXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNl +dERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRWYXJpYWJsZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRWYXJpYWJs +ZXMiIFR5cGVOYW1lPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZU +YXJnZXRWYXJpYWJsZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iRmllbGRUYXJnZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRJZCIgVHlwZU5h +bWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJp +YnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIFR5cGVOYW1lPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhh +bmRsaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3ZlcnJpZGVWYWx1ZSIgVHlwZU5hbWU9 +InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBMZW5ndGhJbkJpdHM9IjMyIj4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGFzdFVzYWJsZVZhbHVlIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0i +MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNj +cmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJv +bGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl +bmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRh +VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUHVibGlzaGVkRGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWRE +YXRhU2V0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJT +dWJDb25uZWN0aW9uRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Rh +bmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2Ny +aWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVNldEZvbGRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT +ZXRNZXRhRGF0YSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaWJlZERhdGFTZXQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P +YmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlY3VyaXR5R3JvdXBGb2xkZXIiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwRm9sZGVy +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3VwRm9s +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2V5TGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RnV0dXJlS2V5Q291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UGFz +dEtleUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJt +aXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktl +eVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViS2V5 +UHVzaFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdXNoVGFyZ2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVzaFRhcmdldEZvbGRlciIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mUHVzaFRhcmdldEZvbGRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkS2V5 +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0 +cnlJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUHVzaFRhcmdldFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJQdXNoVGFyZ2V0UHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlW +YWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHVzaFRhcmdldFByb3BlcnRpZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJh +dGlvbjJEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hlZERhdGFTZXRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVkRGF0YVNldHMiIFR5 +cGVOYW1lPSJ0bnM6UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlB1 +Ymxpc2hlZERhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbm5lY3Rpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29ubmVjdGlv +bnMiIFR5cGVOYW1lPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZkNvbm5lY3Rpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvbkRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmliZWREYXRhU2V0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmliZWREYXRh +U2V0cyIgVHlwZU5hbWU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpYmVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGF0YVNldENsYXNzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NlcyIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURh +dGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRDbGFzc2VzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRlZmF1bHRTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVmYXVsdFNlY3VyaXR5S2V5U2VydmljZXMi +IFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZEZWZh +dWx0U2VjdXJpdHlLZXlTZXJ2aWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1 +cml0eUdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5R3JvdXBzIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXRzIiBUeXBlTmFtZT0idG5zOlB1YlN1Yktl +eVB1c2hUYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJTdWJLZXlQdXNoVGFyZ2V0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9u +UHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVu +Z3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0T3JkZXJpbmdU +eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV +bmRlZmluZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFz +Y2VuZGluZ1dyaXRlcklkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJBc2NlbmRpbmdXcml0ZXJJZFNpbmdsZSIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVWFkcE5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVl +PSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFk +ZXIiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3Rh +bXAiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb1Nl +Y29uZHMiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0 +YVNldENsYXNzSWQiIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUHJvbW90ZWRGaWVsZHMiIFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VE +YXRhVHlwZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJHcm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFT +ZXRPcmRlcmluZ1R5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNv +bnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0 +IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0 IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h -bWU9IkRhdGFTZXRPcmRlcmluZ1R5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlVuZGVmaW5lZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQXNjZW5kaW5nV3JpdGVySWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xlIiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNP -cHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlB1Ymxpc2hlcklkIiBW -YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcm91cEhlYWRlciIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVyR3JvdXBJ -ZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBWZXJz -aW9uIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZXR3b3Jr -TWVzc2FnZU51bWJlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlNlcXVlbmNlTnVtYmVyIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUGF5bG9hZEhlYWRlciIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlRpbWVzdGFtcCIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJQaWNvU2Vjb25kcyIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQcm9tb3RlZEZpZWxkcyIgVmFsdWU9IjEwMjQiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVWFk -cFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwTWVz -c2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T3JkZXJpbmci -IFR5cGVOYW1lPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcE5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ09mZnNl -dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVi -bGlzaGluZ09mZnNldCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0i -Tm9PZlB1Ymxpc2hpbmdPZmZzZXQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExl -bmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3Nh -Z2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1l -PSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQx -NiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwVmVy -c2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3 -b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5z -OlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNldE1lc3Nh -Z2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZh -bCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZl -T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBy -b2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3JrTWVzc2Fn -ZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VIZWFkZXIiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRNZXNzYWdlSGVhZGVyIiBWYWx1 -ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaW5nbGVEYXRhU2V0TWVz -c2FnZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHVibGlz -aGVySWQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFT -ZXRDbGFzc0lkIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbHlUbyIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildy -aXRlckdyb3VwTmFtZSIgVmFsdWU9IjY0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw -ZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25O -ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr -IiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJNZXRhRGF0YVZlcnNpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik1lc3NhZ2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFZhbHVlPSI2NCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZEVuY29kaW5nMSIgVmFsdWU9IjEyOCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjI1 -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFZh -bHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWlub3JWZXJzaW9u -IiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZEVu -Y29kaW5nMiIgVmFsdWU9IjIwNDgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi -IEJhc2VUeXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25E -YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpK -c29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl -Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUW9zRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlRyYW5zbWl0UW9zRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbWl0 -UW9zUHJpb3JpdHlEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlY2VpdmVRb3NEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpRb3NEYXRhVHlwZSI+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVjZWl2 -ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNv -bm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3Zl -cnlBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtQ29ubmVj -dGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25U -cmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlBZGRyZXNz -IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBTb3VyY2VUeXBlPSJ0bnM6RGF0YWdyYW1D -b25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNj -b3ZlcnlBbm5vdW5jZVJhdGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzY292ZXJ5TWF4TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1Rb3MiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YWdy -YW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3Vw -VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdENv -dW50IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -UmVwZWF0RGVsYXkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBU -cmFuc3BvcnQyRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRy -YW5zcG9ydERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdERl -bGF5IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgU291cmNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVy -R3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3Mi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJR -b3NDYXRlZ29yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhZ3JhbVFvcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZEYXRhZ3JhbVFvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy -eUFubm91bmNlUmF0ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUb3BpYyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YWdyYW1EYXRhU2V0UmVhZGVy -VHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERh -dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRb3NDYXRlZ29yeSIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YWdyYW1Rb3Mi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhZ3JhbVFv -cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhZ3Jh -bVFvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvcGljIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENpcGhlclN1aXRlIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDaXBoZXJT -dWl0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJDaXBoZXJTdWl0ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNl -cnZlckNpcGhlclN1aXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ilplcm9SVFQiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlR3Jv -dXBJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmlm -eUNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVj -dGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnRE -YXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp -Y2UiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v -dFNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QmVzdEVmZm9ydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXRMZWFzdE9uY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkF0TW9zdE9uY2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkV4YWN0bHlPbmNlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJh -bnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0 -V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1l -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNl -VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9r -ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0 -YURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0YURhdGFVcGRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJE -YXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRl -clRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNh -dGlvblByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6QnJva2VyVHJh -bnNwb3J0UXVhbGl0eU9mU2VydmljZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRh -UXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVm -TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkVsZW1lbnRBZGQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkVsZW1lbnRNYXRjaCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iRWxlbWVudE1vZGlmeSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iRWxlbWVudFJlbW92ZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlV3JpdGVyIiBWYWx1ZT0iMTYiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlUmVhZGVyIiBWYWx1ZT0iMzIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlV3JpdGVyR3JvdXAiIFZh -bHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VSZWFk -ZXJHcm91cCIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -ZWZlcmVuY2VDb25uZWN0aW9uIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlJlZmVyZW5jZVB1YkRhdGFzZXQiIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlU3ViRGF0YXNldCIgVmFsdWU9IjEwMjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlU2VjdXJpdHlHcm91cCIg -VmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNl -UHVzaFRhcmdldCIgVmFsdWU9IjQwOTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNv -bmZpZ3VyYXRpb25NYXNrIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZNYXNr -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJ -bnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25JbmRleCIgVHlwZU5hbWU9 -Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cEluZGV4IiBUeXBlTmFt -ZT0ib3BjOlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0 -aW9uRWxlbWVudCIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IklkZW50aWZpZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkRpYWdub3N0aWNzTGV2ZWwiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkJhc2ljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBZHZhbmNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW5mbyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -TG9nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIg -VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0 -aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9u -IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFs -dWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSnNvbk5ldHdvcmtNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldENsYXNzSWQiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1lc3NhZ2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZXMi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTWVzc2FnZXMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSnNvbkRhdGFTZXRNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1i -ZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh -dGFWZXJzaW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU -aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBheWxvYWQiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklk -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRX -cml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -cml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +bWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09w +dGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wIiBWYWx1 +ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQaWNvU2Vjb25kcyIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0i +NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNYWpvclZlcnNpb24iIFZhbHVl +PSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVmFs +dWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcXVlbmNlTnVtYmVy +IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBl +PSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBEYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJlZFNpemUi +IFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01l +c3NhZ2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE9mZnNldCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9mZnNl +dCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0 +Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0 +d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwTmV0d29ya01lc3NhZ2VD +b250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVu +dE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2ZU9mZnNldCIgVHlwZU5hbWU9Im9w +YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9jZXNzaW5nT2Zmc2V0IiBUeXBl +TmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik5ldHdvcmtNZXNzYWdlSGVhZGVyIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJEYXRhU2V0TWVzc2FnZUhlYWRlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU2luZ2xlRGF0YVNldE1lc3NhZ2UiIFZhbHVlPSI0IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlB1Ymxpc2hlcklkIiBWYWx1ZT0iOCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVmFsdWU9IjE2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGx5VG8iIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFZhbHVl +PSI2NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3Jp +dGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIg +SXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0 +ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURh +dGFWZXJzaW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +ZXF1ZW5jZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVGltZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJN +ZXNzYWdlVHlwZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFTZXRXcml0ZXJOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRmllbGRFbmNvZGluZzEiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUHVibGlzaGVySWQiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVmFsdWU9IjEwMjQiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGRFbmNvZGluZzIiIFZhbHVlPSIyMDQ4 +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpE +YXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdv +cmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRN +YXNrIiBUeXBlTmFtZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlFvc0Rh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBl +IiBCYXNlVHlwZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc21pdFFvc1ByaW9yaXR5RGF0YVR5cGUi +IEJhc2VUeXBlPSJ0bnM6VHJhbnNtaXRRb3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eUxhYmVsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWNlaXZlUW9zRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBl +IiBCYXNlVHlwZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eUxhYmVsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rp +b25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0 +YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgU291cmNlVHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh +dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QW5ub3VuY2VSYXRlIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeU1h +eE1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlFvc0NhdGVnb3J5IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEYXRhZ3JhbVFvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRhdGFncmFtUW9zIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBM +ZW5ndGhGaWVsZD0iTm9PZkRhdGFncmFtUW9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIgVHlwZU5hbWU9Im9wYzpC +eXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiBUeXBlTmFt +ZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiBC +YXNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIg +U291cmNlVHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXREZWxheSIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIFNvdXJjZVR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3Mi +IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1R +b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlBbm5vdW5jZVJhdGUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9waWMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBC +YXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUW9zQ2F0ZWdvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFncmFtUW9zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YWdyYW1Rb3MiIFR5cGVOYW1lPSJ1YTpFeHRl +bnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRGF0YWdyYW1Rb3MiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUb3BpYyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRHRsc1B1YlN1YkNvbm5l +Y3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDbGllbnRDaXBoZXJTdWl0ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2lwaGVyU3VpdGVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2lwaGVyU3VpdGVzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDaXBoZXJTdWl0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJaZXJvUlRUIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJpZnlDbGllbnRDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw +ZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3RTcGVjaWZpZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJlc3RFZmZvcnQiIFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TGVhc3RPbmNlIiBWYWx1ZT0i +MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBdE1vc3RPbmNlIiBWYWx1ZT0i +MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGFjdGx5T25jZSIgVmFsdWU9 +IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpX +cml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVl +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNv +dXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +dXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6 +QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJh +bnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVk +RGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9m +U2VydmljZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUXVldWVOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVXBkYXRl +VGltZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9y +dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZERlbGl2 +ZXJ5R3VhcmFudGVlIiBUeXBlTmFtZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp +Y2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIExlbmd0aEluQml0cz0i +MzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbGVtZW50 +QWRkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbGVtZW50 +TWF0Y2giIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVsZW1l +bnRNb2RpZnkiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVs +ZW1lbnRSZW1vdmUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlJlZmVyZW5jZVdyaXRlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlZmVyZW5jZVJlYWRlciIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVdyaXRlckdyb3VwIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlUmVhZGVyR3JvdXAiIFZhbHVlPSIxMjgi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQ29ubmVjdGlvbiIg +VmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VQ +dWJEYXRhc2V0IiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlJlZmVyZW5jZVN1YkRhdGFzZXQiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVNlY3VyaXR5R3JvdXAiIFZhbHVlPSIyMDQ4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVB1c2hUYXJnZXQiIFZhbHVlPSI0 +MDk2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uTWFzayIgVHlw +ZU5hbWU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVsZW1lbnRJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25uZWN0aW9uSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3JvdXBJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi +U3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvbkVsZW1lbnQiIFR5cGVOYW1l +PSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJZGVudGlmaWVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEaWFnbm9zdGljc0xldmVsIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNpYyIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWR2YW5jZWQiIFZh +bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm8iIFZhbHVlPSIy +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIgVmFsdWU9IjMiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVidWciIFZhbHVlPSI0IiAvPg0KICA8L29w +YzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlB1YlN1YkRp +YWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbmZvcm1hdGlvbiIgVmFsdWU9IjAiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJyb3IiIFZhbHVlPSIxIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr +TWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXNzYWdlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk1lc3NhZ2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0TWVzc2Fn +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRh -VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJKc29uQXBwbGljYXRpb25EZXNjcmlwdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvblNlcnZl -ckVuZHBvaW50c01lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxp -Y2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRz -IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5k -cG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9Ikpzb25TdGF0dXNNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0N5Y2xpYyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idG5z -OlB1YlN1YlN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV4dFJlcG9ydFRpbWUiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJ -ZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -VHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -aW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDb25uZWN0aW9uIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJK -c29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +cGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgVHlwZU5hbWU9 +InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQYXlsb2FkIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpz +b25EYXRhU2V0TWV0YURhdGFNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJp bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJv -cGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFjdGlv -blRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -Y3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0idG5zOkFjdGlvblRhcmdldERhdGFUeXBlIiBMZW5ndGhG -aWVsZD0iTm9PZkFjdGlvblRhcmdldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXNwb25zZSIgVHlwZU5hbWU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFjdGlvbk1ldGhvZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25NZXRob2RzIiBUeXBlTmFtZT0idG5zOkFj -dGlvbk1ldGhvZERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZkFjdGlvbk1ldGhvZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNv -bkFjdGlvblJlc3BvbmRlck1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb24iIFR5cGVOYW1lPSJ0bnM6 -UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25OZXR3b3JrTWVzc2FnZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl -SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2Fn -ZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVi -bGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VBZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvcnJlbGF0aW9uRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdG9ySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1lc3NhZ2VzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZXMiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTWVzc2FnZXMiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlvblJlcXVl -c3RNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURhdGFWZXJzaW9uIiBUeXBl -TmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFjdGlvblN0YXRlIiBUeXBlTmFtZT0idG5zOkFjdGlvblN0YXRl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGF5bG9hZCIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJKc29uQWN0aW9uUmVzcG9uc2VNZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25UYXJnZXRJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3Jp -dGVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -cml0ZXJHcm91cE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWV0YURhdGFWZXJzaW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9u -RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5vclZlcnNpb24iIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3Rpb25TdGF0 -ZSIgVHlwZU5hbWU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBh -eWxvYWQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxp -YXNOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGFzc3dvcmRPcHRpb25zTWFz -ayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN1cHBvcnRJbml0aWFsUGFzc3dvcmRDaGFuZ2UiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1cHBvcnREaXNhYmxlVXNlciIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydERpc2FibGVEZWxldGVG -b3JVc2VyIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdXBw -b3J0Tm9DaGFuZ2VGb3JVc2VyIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTdXBwb3J0RGVzY3JpcHRpb25Gb3JVc2VyIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNVcHBlckNhc2VDaGFyYWN0ZXJzIiBWYWx1 -ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNMb3dlckNh -c2VDaGFyYWN0ZXJzIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUmVxdWlyZXNEaWdpdENoYXJhY3RlcnMiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iUmVxdWlyZXNTcGVjaWFsQ2hhcmFjdGVycyIgVmFsdWU9IjI1NiIg -Lz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJVc2VyQ29uZmlndXJhdGlvbk1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0 -cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0RlbGV0ZSIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vQ2hhbmdlQnlVc2VyIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdXN0Q2hhbmdlUGFzc3dvcmQiIFZhbHVl -PSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0 -bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRW5jb2RlZFRpY2tldCI+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEdXBsZXgiIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZ1bGwiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhhbGYiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIyIiAvPg0KICA8L29w -YzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkludGVyZmFj -ZUFkbWluU3RhdHVzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJVcCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RG93biIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdGlu -ZyIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy -YXRlZFR5cGUgTmFtZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXAiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvd24iIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlRlc3RpbmciIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRvcm1hbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vdFByZXNlbnQiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ikxvd2VyTGF5ZXJEb3duIiBWYWx1ZT0iNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOZWdvdGlhdGlvblN0YXR1cyIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5Qcm9ncmVz -cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29tcGxldGUi -IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9 -IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9OZWdvdGlhdGlvbiIgVmFs -dWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 -cGUgTmFtZT0iVHNuRmFpbHVyZUNvZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik5vRmFpbHVyZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iSW5zdWZmaWNpZW50QmFuZHdpZHRoIiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN1ZmZpY2llbnRSZXNvdXJjZXMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc3VmZmljaWVudFRyYWZm -aWNDbGFzc0JhbmR3aWR0aCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RyZWFtSWRJblVzZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iU3RyZWFtRGVzdGluYXRpb25BZGRyZXNzSW5Vc2UiIFZhbHVlPSI1IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbVByZWVtcHRlZEJ5SGlnaGVyUmFuayIg -VmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGF0ZW5jeUhhc0No -YW5nZWQiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVncmVz -c1BvcnROb3RBdmJDYXBhYmxlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJVc2VEaWZmZXJlbnREZXN0aW5hdGlvbkFkZHJlc3MiIFZhbHVlPSI5IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik91dE9mTXNycFJlc291cmNlcyIgVmFsdWU9IjEw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik91dE9mTW1ycFJlc291cmNlcyIg -VmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNhbm5vdFN0b3Jl -RGVzdGluYXRpb25BZGRyZXNzIiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUHJpb3JpdHlJc05vdEFuU3JjQ2xhc3MiIFZhbHVlPSIxMyIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNYXhGcmFtZVNpemVUb29MYXJnZSIgVmFsdWU9IjE0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1heEZhbkluUG9ydHNMaW1pdFJlYWNo -ZWQiIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaXJzdFZh -bHVlQ2hhbmdlZEZvclN0cmVhbUlkIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVmxhbkJsb2NrZWRPbkVncmVzcyIgVmFsdWU9IjE3IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZsYW5UYWdnaW5nRGlzYWJsZWRPbkVncmVzcyIgVmFsdWU9 -IjE4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNyQ2xhc3NQcmlvcml0eU1p -c21hdGNoIiBWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmVh -dHVyZU5vdFByb3BhZ2F0ZWQiIFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJNYXhMYXRlbmN5RXhjZWVkZWQiIFZhbHVlPSIyMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcmlkZ2VEb2VzTm90UHJvdmlkZU5ldHdvcmtJZCIgVmFsdWU9IjIy -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbVRyYW5zZm9ybU5vdFN1 -cHBvcnRlZCIgVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -cmVhbUlkVHlwZU5vdFN1cHBvcnRlZCIgVmFsdWU9IjI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkZlYXR1cmVOb3RTdXBwb3J0ZWQiIFZhbHVlPSIyNSIgLz4NCiAgPC9vcGM6 -RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUc25TdHJlYW1T -dGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNv -bmZpZ3VyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -ZWFkeSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3BlcmF0 -aW9uYWwiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVycm9y -IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJUc25UYWxrZXJTdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWR5IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzbkxpc3RlbmVyU3RhdHVzIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkeSIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGFydGlhbEZhaWxlZCIgVmFsdWU9 -IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBWYWx1ZT0iMyIg -Lz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJDaGFzc2lzSWRTdWJ0eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJDaGFzc2lzQ29tcG9uZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnRlcmZhY2VBbGlhcyIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUG9ydENvbXBvbmVudCIgVmFsdWU9IjMiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWFjQWRkcmVzcyIgVmFsdWU9IjQiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29ya0FkZHJlc3MiIFZhbHVlPSI1IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludGVyZmFjZU5hbWUiIFZhbHVlPSI2IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvY2FsIiBWYWx1ZT0iNyIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQb3J0 -SWRTdWJ0eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJbnRlcmZhY2VBbGlhcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUG9ydENvbXBvbmVudCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTWFjQWRkcmVzcyIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTmV0d29ya0FkZHJlc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkludGVyZmFjZU5hbWUiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkFnZW50Q2lyY3VpdElkIiBWYWx1ZT0iNiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb2NhbCIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTWFuQWRkcklmU3VidHlw -ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u -ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUG9ydFJlZiIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3lzdGVtUG9ydE51bWJl -ciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hcHBpbmdVcmkiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHlMYWJlbCIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eVZhbHVl -X1BDUCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3Jp -dHlWYWx1ZV9EU0NQIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJl -c3NUeFBvcnRUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFkZHJlc3NTdWJ0eXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1hbkFkZHJlc3MiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHhFbmFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJMZW4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWZTdWJ0eXBlIiBUeXBlTmFtZT0idG5zOk1hbkFkZHJJZlN1YnR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3NTdWJ0eXBlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZHJlc3MiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWZTdWJ0eXBlIiBUeXBlTmFtZT0idG5zOk1h -bkFkZHJJZlN1YnR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZklkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJMbGRwVGx2VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUbHZUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRsdkluZm8iIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l -PSJMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNl -dD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3RoZXIiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGVhdGVyIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcmlkZ2UiIFZhbHVlPSI0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldsYW5BY2Nlc3NQb2ludCIgVmFsdWU9IjgiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm91dGVyIiBWYWx1ZT0iMTYiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVsZXBob25lIiBWYWx1ZT0iMzIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRG9jc2lzQ2FibGVEZXZpY2UiIFZhbHVlPSI2NCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0aW9uT25seSIgVmFsdWU9IjEy -OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDdmxhbkNvbXBvbmVudCIgVmFs -dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdmxhbkNvbXBvbmVu -dCIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUd29Qb3J0 -TWFjUmVsYXkiIFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNl -Tm9kZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy -ZW5jZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ -c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlRhcmdldE5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VMaXN0 -RW50cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iSWRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJOdW1lcmljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdHJpbmciIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikd1 -aWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wYXF1ZSIg -VmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iTm9kZUNsYXNzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3RUeXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcm1pc3Npb25UeXBlIiBMZW5ndGhJ -bkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QnJvd3NlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFk -Um9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJXcml0ZUF0dHJpYnV0ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iV3JpdGVSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlSGlzdG9yaXppbmciIFZhbHVlPSIxNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSZWFkSGlzdG9yeSIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRIaXN0b3J5IiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1vZGlmeUhpc3RvcnkiIFZhbHVlPSI1MTIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlSGlzdG9yeSIgVmFsdWU9IjEwMjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVjZWl2ZUV2ZW50cyIgVmFsdWU9 -IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FsbCIgVmFsdWU9IjQw -OTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWRkUmVmZXJlbmNlIiBWYWx1 -ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmVSZWZlcmVu -Y2UiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxl -dGVOb2RlIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QWRkTm9kZSIgVmFsdWU9IjY1NTM2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSI4 -IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u -ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJl -YWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRX -cml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9y -eVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rv -cnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2Vt -YW50aWNDaGFuZ2UiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0iNjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWNjZXNzTGV2ZWxFeFR5cGUiIExlbmd0 -aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJDdXJyZW50UmVhZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ3VycmVudFdyaXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJIaXN0b3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTZW1hbnRpY0NoYW5nZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmF0b21pY1dyaXRlIiBWYWx1ZT0iNTEyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlRnVsbEFycmF5T25seSIgVmFsdWU9 -IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9TdWJEYXRhVHlwZXMi -IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vblZvbGF0 -aWxlIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb25z -dGFudCIgVmFsdWU9IjgxOTIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -RW51bWVyYXRlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmllclR5cGUiIExlbmd0aEluQml0cz0iOCIg -SXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi -IFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1YnNjcmliZVRv -RXZlbnRzIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0 -b3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlz -dG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvblR5cGUiIExlbmd0aEluQml0 -cz0iMTYiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWdu -aW5nUmVxdWlyZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkVuY3J5cHRpb25SZXF1aXJlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iU2Vzc2lvblJlcXVpcmVkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJBcHBseVJlc3RyaWN0aW9uc1RvQnJvd3NlIiBWYWx1ZT0iOCIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSb2xl -UGVybWlzc2lvblR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUm9sZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6UGVybWlzc2lvblR5cGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 -YVR5cGVEZWZpbml0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVU -eXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT -dHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0cnVjdHVyZVdpdGhTdWJ0eXBlZFZhbHVlcyIgVmFsdWU9IjMiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb25XaXRoU3VidHlwZWRWYWx1ZXMiIFZhbHVl -PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlN0cnVjdHVyZUZpZWxkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlN0cnVjdHVyZURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9u -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5h -bWU9InRuczpTdHJ1Y3R1cmVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIg -VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhG -aWVsZD0iTm9PZkZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJBcmd1bWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkVudW1WYWx1ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVt -VmFsdWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbGlkQml0cyIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -Ok9wYXF1ZVR5cGUgTmFtZT0iTm9ybWFsaXplZFN0cmluZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWVTdHJpbmciPg0K -ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlU3RyaW5n -Ij4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRHVyYXRp -b24iPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJVdGNU -aW1lIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTG9j -YWxlSWQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVGltZVpvbmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkJvb2xl -YW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJJbmRleCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkludGVnZXJJZCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw -ZSBOYW1lPSJBcHBsaWNhdGlvblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25E -ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBcHBsaWNhdGlvblVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvblR5cGUiIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNj -b3ZlcnlQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 -aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r -ZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJldHVybkRpYWdub3N0aWNzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkF1ZGl0RW50cnlJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lb3V0SGludCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZVJlc3VsdCIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlRGlhZ25vc3RpY3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0cmluZ1RhYmxlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -dHJpbmdUYWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIFR5 -cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJWZXJzaW9uVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlRmF1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1 -ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZl -clVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25sZXNzSW52 -b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m -U2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJ -ZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJ -ZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24i -IExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjb3JkSWQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmwi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +cGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVz +dGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1l +dGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFwcGxpY2F0 +aW9uRGVzY3JpcHRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl ckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk PSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxp -dHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNh -cGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgQmFzZVR5cGU9 +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25TZXJ2ZXJFbmRwb2ludHNNZXNzYWdlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3Nh +Z2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNz +YWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +dWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRw +b2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uU3RhdHVz +TWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSXNDeWNsaWMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InRuczpQdWJTdWJTdGF0ZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRSZXBvcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29ubmVjdGlvbiIgVHlwZU5h +bWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVz +c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWVzc2FnZVR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBY3Rpb25UYXJnZXRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uVGFyZ2V0cyIgVHlwZU5h +bWU9InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25UYXJn +ZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdCIgVHlwZU5hbWU9InRuczpEYXRh +U2V0TWV0YURhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2UiIFR5cGVO +YW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZBY3Rpb25NZXRob2RzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQWN0aW9uTWV0aG9kcyIgVHlwZU5hbWU9InRuczpBY3Rpb25NZXRob2REYXRhVHlwZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZBY3Rpb25NZXRob2RzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25SZXNwb25kZXJNZXNz +YWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25uZWN0aW9uIiBUeXBlTmFtZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRh +VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJKc29uQWN0aW9uTmV0d29ya01lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZUlkIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VUeXBlIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlQWRkcmVzcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb3JyZWxhdGlv +bkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RvcklkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRpbWVvdXRIaW50IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZNZXNzYWdlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2VzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhG +aWVsZD0iTm9PZk1lc3NhZ2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25BY3Rpb25SZXF1ZXN0TWVzc2FnZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVy +SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9u +VGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgVHlwZU5hbWU9InRuczpDb25maWd1cmF0 +aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWlub3JWZXJzaW9u +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFt +cCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3Nh +Z2VUeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +Y3Rpb25TdGF0ZSIgVHlwZU5hbWU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlBheWxvYWQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkFjdGlv +blJlc3BvbnNlTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uVGFyZ2V0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBOYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhVmVyc2lv +biIgVHlwZU5hbWU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SWQiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0aW9uU3RhdGUiIFR5cGVOYW1lPSJ0bnM6QWN0 +aW9uU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXlsb2FkIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzTmFtZSIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlZE5v +ZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJl +bmNlZE5vZGVzIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlZE5vZGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IlBhc3N3b3JkT3B0aW9uc01hc2siIExlbmd0aEluQml0cz0iMzIi +IElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdXBwb3J0SW5p +dGlhbFBhc3N3b3JkQ2hhbmdlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdXBwb3J0RGlzYWJsZVVzZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlN1cHBvcnREaXNhYmxlRGVsZXRlRm9yVXNlciIgVmFsdWU9IjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydE5vQ2hhbmdlRm9yVXNlciIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VwcG9ydERlc2Ny +aXB0aW9uRm9yVXNlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlJlcXVpcmVzVXBwZXJDYXNlQ2hhcmFjdGVycyIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcXVpcmVzTG93ZXJDYXNlQ2hhcmFjdGVycyIgVmFsdWU9 +IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcXVpcmVzRGlnaXRDaGFy +YWN0ZXJzIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +cXVpcmVzU3BlY2lhbENoYXJhY3RlcnMiIFZhbHVlPSIyNTYiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVXNlckNvbmZpZ3VyYXRpb25N +YXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTm9EZWxldGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJOb0NoYW5nZUJ5VXNlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTXVzdENoYW5nZVBhc3N3b3JkIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyTWFuYWdlbWVu +dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOlVzZXJDb25maWd1cmF0aW9u +TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl +IE5hbWU9IkVuY29kZWRUaWNrZXQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRHVwbGV4IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJGdWxsIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJIYWxmIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXAiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRvd24iIFZhbHVlPSIxIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3RpbmciIFZhbHVlPSIyIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkludGVy +ZmFjZU9wZXJTdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVwIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEb3duIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUZXN0 +aW5nIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3du +IiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEb3JtYW50IiBW +YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3RQcmVzZW50IiBW +YWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb3dlckxheWVyRG93 +biIgVmFsdWU9IjYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluUHJvZ3Jlc3MiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbXBsZXRlIiBWYWx1ZT0iMSIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik5vTmVnb3RpYXRpb24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzbkZhaWx1cmVD +b2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b0ZhaWx1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +c3VmZmljaWVudEJhbmR3aWR0aCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iSW5zdWZmaWNpZW50UmVzb3VyY2VzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN1ZmZpY2llbnRUcmFmZmljQ2xhc3NCYW5kd2lkdGgiIFZh +bHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbUlkSW5Vc2Ui +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbURlc3Rp +bmF0aW9uQWRkcmVzc0luVXNlIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdHJlYW1QcmVlbXB0ZWRCeUhpZ2hlclJhbmsiIFZhbHVlPSI2IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxhdGVuY3lIYXNDaGFuZ2VkIiBWYWx1ZT0iNyIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFZ3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZSIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlRGlmZmVyZW50 +RGVzdGluYXRpb25BZGRyZXNzIiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJPdXRPZk1zcnBSZXNvdXJjZXMiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJPdXRPZk1tcnBSZXNvdXJjZXMiIFZhbHVlPSIxMSIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDYW5ub3RTdG9yZURlc3RpbmF0aW9uQWRkcmVzcyIg +VmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlByaW9yaXR5SXNO +b3RBblNyY0NsYXNzIiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTWF4RnJhbWVTaXplVG9vTGFyZ2UiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJNYXhGYW5JblBvcnRzTGltaXRSZWFjaGVkIiBWYWx1ZT0iMTUiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmlyc3RWYWx1ZUNoYW5nZWRGb3JTdHJlYW1J +ZCIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZsYW5CbG9j +a2VkT25FZ3Jlc3MiIFZhbHVlPSIxNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWbGFuVGFnZ2luZ0Rpc2FibGVkT25FZ3Jlc3MiIFZhbHVlPSIxOCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTckNsYXNzUHJpb3JpdHlNaXNtYXRjaCIgVmFsdWU9IjE5IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZlYXR1cmVOb3RQcm9wYWdhdGVkIiBW +YWx1ZT0iMjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4TGF0ZW5jeUV4 +Y2VlZGVkIiBWYWx1ZT0iMjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJp +ZGdlRG9lc05vdFByb3ZpZGVOZXR3b3JrSWQiIFZhbHVlPSIyMiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJTdHJlYW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWQiIFZhbHVlPSIyMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJlYW1JZFR5cGVOb3RTdXBwb3J0 +ZWQiIFZhbHVlPSIyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGZWF0dXJl +Tm90U3VwcG9ydGVkIiBWYWx1ZT0iMjUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuU3RyZWFtU3RhdGUiIExlbmd0aEluQml0cz0i +MzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb25maWd1cmluZyIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9wZXJhdGlvbmFsIiBWYWx1ZT0iMyIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjQiIC8+DQogIDwv +b3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuVGFs +a2VyU3RhdHVzIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS +ZWFkeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVk +IiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlBhcnRpYWxGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQ2hhc3Npc0lkU3VidHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2hhc3Np +c0NvbXBvbmVudCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SW50ZXJmYWNlQWxpYXMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlBvcnRDb21wb25lbnQiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hY0FkZHJlc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5ldHdvcmtBZGRyZXNzIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJJbnRlcmZhY2VOYW1lIiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJMb2NhbCIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUG9ydElkU3VidHlwZSIgTGVuZ3RoSW5C +aXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW50ZXJmYWNlQWxpYXMi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBvcnRDb21wb25l +bnQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hY0FkZHJl +c3MiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5ldHdvcmtB +ZGRyZXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnRl +cmZhY2VOYW1lIiBWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB +Z2VudENpcmN1aXRJZCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTG9jYWwiIFZhbHVlPSI3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1hbkFkZHJJZlN1YnR5cGUiIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSIxIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBvcnRSZWYiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5c3RlbVBvcnROdW1iZXIiIFZhbHVlPSIzIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByaW9y +aXR5TWFwcGluZ0VudHJ5VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNYXBwaW5nVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5TGFiZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHlWYWx1ZV9QQ1AiIFR5cGVOYW1lPSJvcGM6 +Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5VmFsdWVfRFNDUCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzU3Vi +dHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW5B +ZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR4 +RW5hYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZGRyTGVuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklm +U3VidHlwZSIgVHlwZU5hbWU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSWZJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRy +ZXNzVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRyZXNzU3VidHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklmU3VidHlwZSIgVHlwZU5hbWU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSWZJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGxkcFRs +dlR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGx2VHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUbHZJbmZvIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTGxkcFN5c3RlbUNhcGFiaWxp +dGllc01hcCIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik90aGVyIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJSZXBlYXRlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQnJpZGdlIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJXbGFuQWNjZXNzUG9pbnQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlJvdXRlciIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlRlbGVwaG9uZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkRvY3Npc0NhYmxlRGV2aWNlIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iU3RhdGlvbk9ubHkiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iQ3ZsYW5Db21wb25lbnQiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ZsYW5Db21wb25lbnQiIFZhbHVlPSI1MTIiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHdvUG9ydE1hY1JlbGF5IiBWYWx1ZT0iMTAy +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlIiBUeXBlTmFt +ZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl +VHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9y +d2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy +Z2V0Tm9kZSIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvZ1JlY29yZCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lIiBUeXBl +TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V2ZXJpdHkiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRUeXBlIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5hbWUi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFj +ZUNvbnRleHQiIFR5cGVOYW1lPSJ0bnM6VHJhY2VDb250ZXh0RGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mQWRkaXRpb25hbERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsRGF0YSIgVHlwZU5hbWU9InRuczpOYW1l +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkFkZGl0aW9uYWxEYXRhIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvZ1JlY29yZHNE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTG9nUmVjb3JkQXJyYXkiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMb2dSZWNvcmRBcnJheSIgVHlwZU5hbWU9InRuczpMb2dSZWNvcmQiIExl +bmd0aEZpZWxkPSJOb09mTG9nUmVjb3JkQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3BhbkNvbnRleHREYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFjZUlk +IiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGFuSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDY0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYWNlQ29udGV4dERhdGFUeXBlIiBCYXNlVHlwZT0idG5z +OlNwYW5Db250ZXh0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhY2VJZCIgVHlw +ZU5hbWU9Im9wYzpHdWlkIiBTb3VyY2VUeXBlPSJ0bnM6U3BhbkNvbnRleHREYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwYW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50NjQiIFNvdXJj +ZVR5cGU9InRuczpTcGFuQ29udGV4dERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UGFyZW50U3BhbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBhcmVudElkZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5hbWVWYWx1ZVBh +aXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1 +ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTG9nUmVjb3JkTWFzayIgTGVuZ3RoSW5CaXRzPSIz +MiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v +bmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50VHlw +ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlTm9k +ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlTmFt +ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhY2VDb250 +ZXh0IiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZGRpdGlv +bmFsRGF0YSIgVmFsdWU9IjE2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IklkVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5zcGVjaWZpZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGUiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMTYiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0iNjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmlldyIgVmFsdWU9IjEyOCIgLz4NCiAg +PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJt +aXNzaW9uVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUmVhZFJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVBdHRyaWJ1dGUiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0i +OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUhpc3Rvcml6aW5nIiBW +YWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZCIgVmFsdWU9 +IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlIiBWYWx1ZT0iNjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZEhpc3RvcnkiIFZhbHVlPSIx +MjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0SGlzdG9yeSIgVmFs +dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNb2RpZnlIaXN0b3J5 +IiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZUhp +c3RvcnkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +Y2VpdmVFdmVudHMiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNhbGwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkFkZFJlZmVyZW5jZSIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iUmVtb3ZlUmVmZXJlbmNlIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iRGVsZXRlTm9kZSIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFkZE5vZGUiIFZhbHVlPSI2NTUzNiIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbFR5 +cGUiIExlbmd0aEluQml0cz0iOCIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlNlbWFudGljQ2hhbmdlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzV3JpdGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXBXcml0ZSIgVmFsdWU9IjY0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vz +c0xldmVsRXhUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VtYW50aWNDaGFuZ2UiIFZhbHVlPSIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0i +NjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljUmVhZCIgVmFs +dWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNXcml0 +ZSIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUZ1 +bGxBcnJheU9ubHkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik5vU3ViRGF0YVR5cGVzIiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJOb25Wb2xhdGlsZSIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQ29uc3RhbnQiIFZhbHVlPSI4MTkyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBl +IiBMZW5ndGhJbkJpdHM9IjgiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rp +b25UeXBlIiBMZW5ndGhJbkJpdHM9IjE2IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iU2lnbmluZ1JlcXVpcmVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJFbmNyeXB0aW9uUmVxdWlyZWQiIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlc3Npb25SZXF1aXJlZCIgVmFsdWU9IjQiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwbHlSZXN0cmljdGlvbnNUb0Jyb3dz +ZSIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlBl +cm1pc3Npb25UeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iU3RydWN0dXJlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iU3RydWN0dXJlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHMiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuaW9uIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJ1Y3R1cmVXaXRoU3VidHlwZWRWYWx1ZXMi +IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuaW9uV2l0aFN1 +YnR5cGVkVmFsdWVzIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5z +aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5 +RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlE +aW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzT3B0aW9uYWwiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBCYXNlVHlwZT0idG5z +OkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWZhdWx0RW5jb2Rp +bmdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VE +YXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +cnVjdHVyZVR5cGUiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRmllbGQiIExlbmd0aEZp +ZWxkPSJOb09mRmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1EZWZpbml0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBl +RGVmaW5pdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmllbGRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRzIiBUeXBlTmFtZT0idG5z +OkVudW1GaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtVmFsdWVUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkludDY0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1GaWVsZCIgQmFzZVR5cGU9InRuczpFbnVtVmFsdWVU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkludDY0IiBT +b3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +c3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOkVu +dW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3B0aW9u +U2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0K +ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEZWNpbWFsU3Ry +aW5nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRHVy +YXRpb25TdHJpbmciPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBO +YW1lPSJUaW1lU3RyaW5nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 +cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx +dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpP +cGFxdWVUeXBlIE5hbWU9IkxvY2FsZUlkIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3Bj +OkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW5kZXgiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv +cGM6T3BhcXVlVHlwZSBOYW1lPSJJbnRlZ2VySWQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9 +IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNsaWVudCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50QW5kU2VydmVyIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNjb3ZlcnlTZXJ2ZXIiIFZhbHVl +PSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbk5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRp +b25UeXBlIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVxdWVzdEhl +YWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlw +ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVO +YW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VS +ZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRpbWUi +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vy +dmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXJpc1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlu +ZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25O +ZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVy +c09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNh +cGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3Jr +UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRu +czpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5z +dGFuY2VDZXJ0aWZpY2F0ZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iMCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTaWduQW5kRW5jcnlwdCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVXNlclRva2VuVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnlt +b3VzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyTmFt +ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2VydGlmaWNh +dGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlZFRv +a2VuIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVz +ZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9p +bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj +dXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRp +b24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBv +bGljeSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJHZXRFbmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl +YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZQcm9maWxlVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9 InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOlNlcnZlck9uTmV0d29yayIg -TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRlIj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh -Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25B -bmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz -ZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1l -PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tl -bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRl -bnRpdHlUb2tlbnMiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0i -Tm9PZlVzZXJJZGVudGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9y -dFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 -aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2Zp -bGVVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv -ZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVV -cmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVuZHBvaW50cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlw -ZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50 -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBC -YXNlVHlwZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2Vy -dmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRTZXJ2 -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeUNv -bmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0idWE6 -U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iU2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iUmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJ -ZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRB -dCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlwZU5hbWU9InRuczpTZWN1 -cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1v -ZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyTmFtZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1l +cyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyTmFt +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNj +b3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxpbmUiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNw +b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVs +U2VjdXJpdHlUb2tlbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDaGFubmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVG9rZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDcmVhdGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9w +ZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdFR5cGUi +IFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRl +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXJ2ZXJQcm90b2NvbFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlU +b2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29mdHdhcmVD +ZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vz +c2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25U +aW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1h +eFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Np +b25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5 +cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTm9uY2Ui +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50 +RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVyRW5kcG9pbnRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -T3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lv -biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0 -eVRva2VuIiBUeXBlTmFtZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9z -ZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl -YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRl -RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25U -b2tlbiI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVh -dGVTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRu -czpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy -VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBv -aW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -c3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJv -cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6 -ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUi +QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNv +dXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4i +IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50 +aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNzd29yZCIgVHlwZU5hbWU9Im9w +YzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRo +bSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0 +bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlJz +YUVuY3J5cHRlZFNlY3JldCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkVjY0VuY3J5cHRlZFNlY3JldCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +clRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVT +ZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRl -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJF -bmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRu -czpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3 -YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJl -IiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0 -eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJ -ZGVudGl0eVRva2VuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2Vy -SWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tl -biI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElk -ZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5 -cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iUnNhRW5jcnlwdGVkU2VjcmV0Ij4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRWNjRW5jcnlw -dGVkU2VjcmV0Ij4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBU -eXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -Q2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRu -czpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3 -YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5 -cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3Bv -bnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2Fu -Y2VsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJDb250YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEw -MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9 -IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5n -SW50ZXJ2YWwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik5vZGVDbGFzcyIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTm9kZUlkIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3ltbWV0cmljIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVXNlckFjY2Vzc0xldmVsIiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0 -ODU3NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZSIgVmFsdWU9IjIw -OTcxNTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVEZWZpbml0 -aW9uIiBWYWx1ZT0iNDE5NDMwNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS -b2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4Mzg4NjA4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVmFsdWU9IjE2Nzc3MjE2IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjMzNTU0NDMxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMjY1MDEyMjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMjY1MDEzNDgiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZSIgVmFsdWU9IjI2NTAz -MjY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0i -MjY1NzEzODMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBl -IiBWYWx1ZT0iMjg2MDA0MzgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 -aG9kIiBWYWx1ZT0iMjY2MzI1NDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVmZXJlbmNlVHlwZSIgVmFsdWU9IjI2NTM3MDYwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlZpZXciIFZhbHVlPSIyNjUwMTM1NiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlcyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB -dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6 +U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMy +PSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FuY2VsQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1 +ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9 +IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1 +ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZh +bHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVy +IiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFi +bGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9y +aXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52 +ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0i +MTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2si +IFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVS +YW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildy +aXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIx +Njc3NzIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIz +MzU1NDQzMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFs +dWU9IjI2NTAxMjIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIg +VmFsdWU9IjI2NTAxMzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVj +dFR5cGUiIFZhbHVlPSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWYXJpYWJsZSIgVmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl +eHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxv +Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU -eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIg +PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVz +IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNw +ZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw +ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIg VHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NM -ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFj -Y2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -aW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhv -ZEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs -YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVB -dHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yaXppbmciIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1 +dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0 +ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0 -cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h -bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJ +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5 +cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRl +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlv -biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VO -YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJh -c2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lm -aWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU -ZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZp -ZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw -bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl -cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 +YVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRl -VmFsdWUiIExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJl -bnROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 -YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l -PSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi -IFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -eXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVz -dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExl -bmd0aEZpZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0U2VydmVyVXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJ -ZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2Vz -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0idG5z -OkFkZFJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB -ZGRSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVU -YXJnZXRSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0ZSIgVHlwZU5hbWU9InRuczpEZWxldGVO -b2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jl -c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs -ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VU -eXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Zv -cndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRh -cmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhl -YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9E -ZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJO -b09mUmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlv -blNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIg -VmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xv -b3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlw -ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0 -aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxh -eU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVu -dE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9 -IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxl -IiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVmFsdWVGb3JWYXJpYWJsZVR5cGUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjQx -OTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm9sZVBlcm1pc3Npb25z -IiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbEV4IiBWYWx1ZT0iMzM1NTQ0MzIiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlRGlyZWN0 -aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJG -b3J3YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZl -cnNlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBW -YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1 -ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRuczpCcm93c2VEaXJlY3Rp -b24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1 -YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzc01hc2si -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0TWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0ZvcndhcmQiIFZhbHVlPSIy -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9Ijgi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSIx -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVmFs -dWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjYz -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJbmZvIiBW -YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUYXJnZXRJbmZvIiBW -YWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh -eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 -YXRpb25Qb2ludCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpC -eXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJWaWV3QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZW5lcmljQXR0cmlidXRl +VmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiBC +YXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp +ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJ0 +bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkF0dHJpYnV0ZVZhbHVl +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJBZGROb2Rlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h +bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v +ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZGVkTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkFkZE5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNj -cmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQ -ZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVT -dWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZF -bGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVs -ZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExlbmd0aEZpZWxkPSJO -b09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVs -YXRpdmVQYXRoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRo -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBh -dGhzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0 -aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVn -aXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3Rl -cmVkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZ2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVtZXJpY1JhbmdlIj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50 -Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVh -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3Nh -Z2VTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -QnVmZmVyU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNoYW5uZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVy -eURhdGFEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpF -eHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFU -b1JldHVybiIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh -dGFUb1JldHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0i -NSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDYXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -SW5WaWV3IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZU -eXBlIiBWYWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRl -ZFRvIiBWYWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZUFuZCIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdp -c2VPciIgVmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZh -bHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVl -cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVS -ZWZlcmVuY2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVy -RWxlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJGaWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRl -bnRGaWx0ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExl -bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFu -ZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -TGl0ZXJhbE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFu -ZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFz -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBh -dGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3Bl -cmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlR5cGVEZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5n -dGhGaWVsZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1 -dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRl -eFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGlj -SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5h -bWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVt -ZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxl -bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl -IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE -YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3Jp -cHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURh -dGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5n -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBh -cnNpbmdSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJO -b09mUGFyc2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0 -IiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRh -U2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5 -RGF0YVNldHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1 -ZXJ5RGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9u -UG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIg -VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAg -PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -VmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBz -VG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWFkUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0FkZCIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9BZGQiIFR5cGVOYW1lPSJ0 +bnM6QWRkTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9BZGQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNS +ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpBZGROb2Rlc1Jlc3Vs +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2Rl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRhcmdldFNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh +c3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNU +b0FkZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJl +c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1 +bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0RlbGV0ZSIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9EZWxldGUiIFR5 +cGVOYW1lPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9EZWxl +dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z +dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJl +bmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ +dGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUi +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZVdyaXRlTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIg +VmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNz +IiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQi +IFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRy +aWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy +QWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1 +ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURl +ZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0 +NDMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl +VHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5j +bHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3Vs +dE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJy +b3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp +c3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +VHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJS +ZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYwIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz +Rm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3Mi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4 +cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1 +ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p +bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlw +ZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0ZWRNYXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VS +ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQi IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5n -IiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNv -bnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P -YmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJSZWFkRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0 -ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZl -bnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlsczIiIEJhc2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGlt -ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFp -bHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRG -aWx0ZXIiIFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iU29ydE9yZGVy -VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXNjZW5kaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJE -ZXNjZW5kaW5nIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTb3J0UnVsZUVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU29ydE9yZGVyIiBUeXBlTmFtZT0i -dG5zOlNvcnRPcmRlclR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkIiBU -eXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlsc1Nv -cnRlZCIgQmFzZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgU291cmNlVHlwZT0idG5zOlJl -YWRFdmVudERldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU29ydENsYXVzZSIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvcnRDbGF1c2Ui -IFR5cGVOYW1lPSJ0bnM6U29ydFJ1bGVFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlNvcnRDbGF1 -c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl -dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv -dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl -VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy -dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn -cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6 +QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp +Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aEVs +ZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1l IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRBbm5vdGF0aW9uRGF0 -YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlcyIgVHlwZU5hbWU9InVh -OkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmaWNhdGlvbklu -Zm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -SGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpIaXN0b3J5RGF0YSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExl -bmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZN -b2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0idG5zOk1vZGlmaWNhdGlvbkluZm8i -IExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu -dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMi -IFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2 -ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWRFdmVudCIgQmFzZVR5cGU9InRuczpIaXN0b3J5RXZlbnQi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZl -bnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJ0bnM6TW9kaWZp -Y2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 -UmVhZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJu -IiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhp -c3RvcnlSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 -UmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlS -ZWFkUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VU +bWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo +IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBU +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1h +aW5pbmdQYXRoSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mVGFyZ2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRhcmdldHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZUYXJnZXRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoIiBMZW5ndGhG +aWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5n +dGhGaWVsZD0iTm9PZk5vZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJlZ2lzdGVyIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i +Q291bnRlciI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik51bWVyaWNSYW5nZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91dCIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdM +ZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhC +eXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0i +dG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2Ui +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25O +b2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhdG9y +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcXVh +bHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzTnVsbCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW4i +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuIiBW +YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbk9y +RXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NU +aGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +TGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm90IiBW +YWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCZXR3ZWVuIiBWYWx1 +ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxpc3QiIFZhbHVlPSI5 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFsdWU9IjEwIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFTZXQiIEJhc2VU eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5n -ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9Xcml0ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVzVG9Xcml0ZSIgVHlwZU5hbWU9InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVzVG9Xcml0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJXcml0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu -b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBk -YXRlRGV0YWlscyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5 -cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu -c2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFj -ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBW -YWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVl -PSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl -IE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9 -InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5z -ZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUi -IExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRXZl -bnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRh -dGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2 -ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRh +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBl +RGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0i +Tm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVJ +ZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVJ +ZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVOYW1lPSJ0bnM6Rmls +dGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmlsdGVyT3BlcmFuZHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJPcGVy +YW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWx0 +ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOkNvbnRl +bnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJh +bmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVyYW5kIiBCYXNlVHlw +ZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXgiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9w +ZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVO -YW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlRXZl -bnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mRXZlbnRJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFt -ZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25S -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3Bl -cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -T3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu +dEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0YXR1c0NvZGVzIiBU +eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29k +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmREaWFn bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhp -c3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIExlbmd0aEZpZWxkPSJOb09mSGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0 -ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRh -dGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Jq -ZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRo -b2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -bnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5w -dXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklu -cHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50 -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1l -PSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1l -dGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +T2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRS +ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxl +bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIExl +bmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlBh +cnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25vc3RpY0luZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2Ny +aXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBlcyIgVHlwZU5hbWU9 +InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVUeXBlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVybiIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1 +cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0 +aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRp +bnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRuczpQYXJzaW5nUmVz +dWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJs -ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5n -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmci -IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 -ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+ -DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -RGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UGVyY2VudCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNo -YW5nZVRyaWdnZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRv -cmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMi -IFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVO -YW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNh -cGFiaWxpdGllc0RlZmF1bHRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUcmVhdFVuY2VydGFpbkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3Bj -OkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1v -bml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -Z2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3Vs -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3Vs -dHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVz -ZVJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZp -bHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRv -cmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1l -IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl -ZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXZpc2VkQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpB -Z2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0lu -dGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZp -bHRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRvciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0 -b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIg -VHlwZU5hbWU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRl -UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Q +b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVGlt +ZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmVp +dGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxp +ZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFs +aWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVO +YW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJO +b09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlS +ZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlEYXRhIiBUeXBl TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRl -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 -b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVl -dWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZp -bHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFt -ZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -dGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVz -dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5n -TW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmluZ01vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRl -bUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 -b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0 -b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0 +b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1l +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVy +IiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRFdmVudERldGFpbHMyIiBCYXNlVHlw +ZT0idG5zOlJlYWRFdmVudERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVz +UGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnRE +ZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5cGU9 +InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBU +eXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiBTb3VyY2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWls +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU +eXBlIE5hbWU9IlNvcnRPcmRlclR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFzY2VuZGluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGVzY2VuZGluZyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU29ydFJ1bGVFbGVtZW50 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv +cnRPcmRlciIgVHlwZU5hbWU9InRuczpTb3J0T3JkZXJUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRXZlbnRGaWVsZCIgVHlwZU5hbWU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlJlYWRFdmVudERldGFpbHNTb3J0ZWQiIEJhc2VUeXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFNvdXJjZVR5cGU9InRu +czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU291cmNlVHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIi +IFNvdXJjZVR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlNvcnRDbGF1c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTb3J0Q2xhdXNlIiBUeXBlTmFtZT0idG5zOlNvcnRSdWxlRWxlbWVudCIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTb3J0Q2xhdXNlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzUmVhZE1v +ZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUHJv +Y2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVnYXRlVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgQmFzZVR5cGU9InRuczpI +aXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZh +bHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFW +YWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVl +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJNb2RpZmljYXRpb25JbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhp +c3RvcnlVcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlz +dG9yeURhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRu +czpNb2RpZmljYXRpb25JbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlFdmVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRXZlbnQiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeUV2ZW50Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVO +YW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBU +eXBlTmFtZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0 +aW9uSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVh +ZCIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9k +ZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlw +ZU5hbWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJXcml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iRGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj +OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0 +YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0 +ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRh +dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu +czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVW +YWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRh +dGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRl +VmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5h +bWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl +ciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZFdmVudERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhG +aWVsZD0iTm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxldGVN +b2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJl +cVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpC +eXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1 +bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFt +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRh +aWxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt +ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlh +bnQiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0 +dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklu +cHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNU +b0NhbGwiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRo +b2RzVG9DYWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i +Tm9PZk1ldGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU +eXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJv cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVO YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NU -b0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxpbmtz -VG9BZGQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dl -cmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkFkZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkFkZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu -b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1 +ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFs +dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1l +c3RhbXAiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBl +PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBU +eXBlTmFtZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVhZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBC +YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQi +IExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldoZXJlQ2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRh +R29vZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xv +cGVkRXh0cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRl +ciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpB +Z2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1v +bml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENs +YXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBC +YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91 +YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp +b24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0 +bnM6UmVhZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIg +VHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZh +bCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2Vk +UXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25p +dG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBl +TmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVx +dWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVk +SXRlbUNyZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpN +b25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl +ZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFt +cHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m +b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9y -ZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09m -TW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1 -Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQ -ZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlw -dGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlm -ZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlm -eVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0lu -dGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2gi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHki -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9k -ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVt -YmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp -c2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFz -ZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZN -b25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRp -b24iIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3Rp -ZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0 -aW9uTGlzdCIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxk -PSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2 -ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VU -eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tu -b3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 -Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1l -bnQiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJs -aXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdN +b2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO +b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRyaWdnZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9S +ZW1vdmUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5r +c1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1Rv +UmVtb3ZlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0 +cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9z +dGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVt +b3ZlRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRl +bXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVw +QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQ +dWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO +YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw +dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50 +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlm +aWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0 +aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxl -U2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -dmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90 -aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFt +ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz +ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGlu +Z01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMi IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBl -TmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZh -aWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJT -dWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJl -c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1 -bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3Vs -dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRp -b25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz -Y3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNj -cmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -c3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9w -YzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iV2FybSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJUcmFuc3BhcmVudCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iSG90QW5kTWlycm9yZWQiIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4N -CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0 -YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRw -b2ludFVybExpc3REYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9 -Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRv -cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT -ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9y -dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 -cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJl -amVjdGVkUmVxdWVzdHNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +ZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0 +aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3Rh -dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVp -bGRJbmZvIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNv -biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlv -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFz -dENvbnRhY3RUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJl -cXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSGlzdG9yeVJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE -YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291 +Ik5vdGlmaWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFu +Z2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h +bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50Rmll +bGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k +bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 +ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 +RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9 +InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdl +Tm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25v +d2xlZGdlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWls +YWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6 +Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg +VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVw +dWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +ZmVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VO +dW1iZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNj +cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09m +U3Vic2NyaXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1 +ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3Bv +bnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lv +biIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51 +bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWls +ZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl +PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJT +dGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UnVubmluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFp +bGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZp +Z3VyYXRpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1 +c3BlbmRlZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1 +dGRvd24iIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3Qi +IFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRp +b25GYXVsdCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5r +bm93biIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlw +ZU5hbWU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p +bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZF +bmRwb2ludFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMi +IFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m +TmV0d29ya1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5n +SW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmll +d0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9u +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz +c2lvblRpbWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz +aGluZ0ludGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBl +TmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZv +IiBUeXBlTmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29u +ZHNUaWxsU2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Np +b25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRV +cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxv +Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdl +U2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGll +bnRDb25uZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ3VycmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9y +aXplZFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291 bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdN -b2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVk -SXRlbXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1 -YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlv -bnNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0Nv -dW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 -ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5 +ZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBU +eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5 cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0 +bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNv +dW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl +Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01v +ZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5h +bWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VHJhbnNmZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZWxldGVOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0 bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dz -ZU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlw -ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUXVlcnlGaXJzdENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJO -b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz -c2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xp -ZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw -ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFt -ZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwi -IFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFs -aXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TWF4TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJl +ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhz +VG9Ob2RlSWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQi +IFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlE +aWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhp +c3RvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJ +ZEhpc3RvcnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlz +bSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGlu +ZyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3Bv +cnRQcm90b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFt +ZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNz +aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz +Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0Vu +YWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +ZGlmeUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkVuYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdl +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh +bnNmZXJSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJl cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJl -ZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHJhbnNmZXJyZWRUb1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmlj -YXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxp -dmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50TGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNv -dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVy -Zmxvd0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZl -cmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBl -TmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51 -bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdp -bmFyeSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5p -dHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU -aXRsZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IExlbmd0aEZpZWxkPSJOb09mQXhpc1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25U +PSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlz +aFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVk +TWVzc2FnZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0Nv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRT +ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFdmVudFF1ZXVlT3ZlcmZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9k +ZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2 +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh +Y2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5p +dElkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVu +dW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJMaW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkxvZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZh +bHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91 +YmxlQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZv +cm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2Nh +bGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5 +cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIg +VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlw +ZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25J +ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNs +aWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhv +ZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBM +ZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIg +VHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0 +QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBU +eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFJldHVyblN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdu +b3N0aWMyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25U aW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz -dFRyYW5zaXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTGFzdE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5w -dXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFz -dE1ldGhvZElucHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RN -ZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3Vt -ZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRp -bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBl -TmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVT -ZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -cmVhdGVDbGllbnROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbCIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kU2Vzc2lv -bklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxh -c3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1 -bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1 -bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhv -ZE91dHB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9k -SW5wdXRWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVs -ZD0iTm9PZkxhc3RNZXRob2RJbnB1dFZhbHVlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZMYXN0TWV0aG9kT3V0cHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9InVhOlZhcmlh -bnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RSZXR1cm5TdGF0dXMiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkFubm90YXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbm5vdGF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlVmFsdWUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZlZhbHVlIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZSYW5nZSIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mRVVSYW5n -ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQo8L29wYzpUeXBlRGljdGlv -bmFyeT4= +dE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMi +IFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0 +QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRB +cmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG +aWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6 +VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi +IFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRW +YWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVO +YW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0 +dXJuU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRp +bWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0 +ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJj +ZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ @@ -144778,6 +151472,118 @@ bmFyeT4= 1 1 + + Variable_2 + + i=16548 + + + 0 + BaseConfigurationDataType + + + i=47 + + + i=69 + + 16548 + + + BaseConfigurationDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16551 + + + 0 + BaseConfigurationRecordDataType + + + i=47 + + + i=69 + + 16551 + + + BaseConfigurationRecordDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16554 + + + 0 + CertificateGroupDataType + + + i=47 + + + i=69 + + 16554 + + + CertificateGroupDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16557 + + + 0 + ConfigurationUpdateTargetType + + + i=47 + + + i=69 + + 16557 + + + ConfigurationUpdateTargetType + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -144806,6 +151612,202 @@ bmFyeT4= 1 1 + + Variable_2 + + i=16564 + + + 0 + ApplicationConfigurationDataType + + + i=47 + + + i=69 + + 16564 + + + ApplicationConfigurationDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16567 + + + 0 + ApplicationIdentityDataType + + + i=47 + + + i=69 + + 16567 + + + ApplicationIdentityDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16570 + + + 0 + EndpointDataType + + + i=47 + + + i=69 + + 16570 + + + EndpointDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16578 + + + 0 + ServerEndpointDataType + + + i=47 + + + i=69 + + 16578 + + + ServerEndpointDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16581 + + + 0 + SecuritySettingsDataType + + + i=47 + + + i=69 + + 16581 + + + SecuritySettingsDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16584 + + + 0 + UserTokenSettingsDataType + + + i=47 + + + i=69 + + 16584 + + + UserTokenSettingsDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19757 + + + 0 + AuthorizationServiceConfigurationDataType + + + i=47 + + + i=69 + + 19757 + + + AuthorizationServiceConfigurationDataType + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -147046,6 +154048,146 @@ bmFyeT4= 1 1 + + Variable_2 + + i=19380 + + + 0 + LogRecord + + + i=47 + + + i=69 + + 19380 + + + LogRecord + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19760 + + + 0 + LogRecordsDataType + + + i=47 + + + i=69 + + 19760 + + + LogRecordsDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19763 + + + 0 + SpanContextDataType + + + i=47 + + + i=69 + + 19763 + + + SpanContextDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19766 + + + 0 + TraceContextDataType + + + i=47 + + + i=69 + + 19766 + + + TraceContextDataType + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19769 + + + 0 + NameValuePair + + + i=47 + + + i=69 + + 19769 + + + NameValuePair + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -149616,6 +156758,138 @@ bmFyeT4= + + Object_1 + + i=16587 + + + 0 + Default XML + + + i=76 + + 16587 + + + + i=38 + + true + + i=15434 + + + + + i=39 + + + i=16597 + + + + + + Object_1 + + i=16588 + + + 0 + Default XML + + + i=76 + + 16588 + + + + i=38 + + true + + i=15435 + + + + + i=39 + + + i=16604 + + + + + + Object_1 + + i=16589 + + + 0 + Default XML + + + i=76 + + 16589 + + + + i=38 + + true + + i=15436 + + + + + i=39 + + + i=16607 + + + + + + Object_1 + + i=16590 + + + 0 + Default XML + + + i=76 + + 16590 + + + + i=38 + + true + + i=15538 + + + + + i=39 + + + i=16610 + + + + Object_1 @@ -149649,6 +156923,237 @@ bmFyeT4= + + Object_1 + + i=16591 + + + 0 + Default XML + + + i=76 + + 16591 + + + + i=38 + + true + + i=15549 + + + + + i=39 + + + i=16614 + + + + + + Object_1 + + i=16592 + + + 0 + Default XML + + + i=76 + + 16592 + + + + i=38 + + true + + i=15556 + + + + + i=39 + + + i=16617 + + + + + + Object_1 + + i=16593 + + + 0 + Default XML + + + i=76 + + 16593 + + + + i=38 + + true + + i=15557 + + + + + i=39 + + + i=16620 + + + + + + Object_1 + + i=16594 + + + 0 + Default XML + + + i=76 + + 16594 + + + + i=38 + + true + + i=15558 + + + + + i=39 + + + i=16623 + + + + + + Object_1 + + i=16595 + + + 0 + Default XML + + + i=76 + + 16595 + + + + i=38 + + true + + i=15559 + + + + + i=39 + + + i=16626 + + + + + + Object_1 + + i=16596 + + + 0 + Default XML + + + i=76 + + 16596 + + + + i=38 + + true + + i=15560 + + + + + i=39 + + + i=16629 + + + + + + Object_1 + + i=19772 + + + 0 + Default XML + + + i=76 + + 19772 + + + + i=38 + + true + + i=19445 + + + + + i=39 + + + i=19787 + + + + Object_1 @@ -152289,6 +159794,171 @@ bmFyeT4= + + Object_1 + + i=19383 + + + 0 + Default XML + + + i=76 + + 19383 + + + + i=38 + + true + + i=19361 + + + + + i=39 + + + i=19384 + + + + + + Object_1 + + i=19773 + + + 0 + Default XML + + + i=76 + + 19773 + + + + i=38 + + true + + i=19745 + + + + + i=39 + + + i=19790 + + + + + + Object_1 + + i=19774 + + + 0 + Default XML + + + i=76 + + 19774 + + + + i=38 + + true + + i=19746 + + + + + i=39 + + + i=19793 + + + + + + Object_1 + + i=19775 + + + 0 + Default XML + + + i=76 + + 19775 + + + + i=38 + + true + + i=19747 + + + + + i=39 + + + i=19796 + + + + + + Object_1 + + i=19776 + + + 0 + Default XML + + + i=76 + + 19776 + + + + i=38 + + true + + i=19748 + + + + + i=39 + + + i=19799 + + + + Object_1 @@ -154521,8 +162191,8 @@ c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw ZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y MDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog IDx4czphbm5vdGF0aW9uPg0KICAgIDx4czphcHBpbmZvPg0KICAgICAgPHVhOk1vZGVsIE1vZGVs -VXJpPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBWZXJzaW9uPSIxLjA1LjA0IiBQdWJs -aWNhdGlvbkRhdGU9IjIwMjUtMDEtMDhUMDA6MDA6MDBaIiAvPg0KICAgIDwveHM6YXBwaW5mbz4N +VXJpPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBWZXJzaW9uPSIxLjA1LjA1IiBQdWJs +aWNhdGlvbkRhdGU9IjIwMjUtMDYtMzBUMDA6MDA6MDBaIiAvPg0KICAgIDwveHM6YXBwaW5mbz4N CiAgPC94czphbm5vdGF0aW9uPg0KICANCiAgPHhzOmVsZW1lbnQgbmFtZT0iQm9vbGVhbiIgdHlw ZT0ieHM6Ym9vbGVhbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQm9vbGVh biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9vbGVhbiIg @@ -155269,2830 +162939,2447 @@ dGFUeXBlIiB0eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRydXN0TGlzdERh dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zYWN0aW9uRXJy -b3JUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3IiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9InVhOkxv -Y2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNh -Y3Rpb25FcnJvclR5cGUiIHR5cGU9InRuczpUcmFuc2FjdGlvbkVycm9yVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNhY3Rpb25FcnJvclR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zYWN0aW9uRXJyb3JUeXBl -IiB0eXBlPSJ0bnM6VHJhbnNhY3Rpb25FcnJvclR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zYWN0aW9uRXJy -b3JUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNhY3Rpb25FcnJvclR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlY2ltYWxEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2NhbGUi -IHR5cGU9InhzOnNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJWYWx1ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkRlY2ltYWxEYXRhVHlwZSIgdHlwZT0idG5zOkRlY2ltYWxEYXRhVHlwZSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZXMiIHR5cGU9 -InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlN0 -cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZkVudW1E -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNpbXBsZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZVR5cGVE -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw -ZVNjaGVtYUhlYWRlciIgdHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIi -IHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFI -ZWFkZXIiIHR5cGU9InRuczpMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZXNj -cmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlc2NyaXB0aW9u -IiB0eXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mRGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkRhdGFU -eXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpM -aXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1 -Y3R1cmVEZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0 -dXJlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9u -IiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1EZXNjcmlw -dGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBl -PSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW51bURl -c2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1E -ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVUeXBlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCYXNlRGF0YVR5cGUiIHR5cGU9 -InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJCdWlsdEluVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJTaW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTaW1wbGVUeXBl -RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVU -eXBlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENv -bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFU -eXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNjaGVtYUxvY2F0aW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsZUhl -YWRlciIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb2R5IiB0eXBlPSJ1YTpW -YXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSIgdHlwZT0idG5z -OlVBQmluYXJ5RmlsZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFyeUZpbGVE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZV -QUJpbmFyeUZpbGVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iUG9ydGFibGVRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmkiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJQb3J0YWJsZVF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpQb3J0YWJsZVF1YWxp -ZmllZE5hbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBvcnRhYmxlUXVh -bGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UG9ydGFibGVRdWFsaWZpZWROYW1lIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZQb3J0YWJsZVF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZQb3J0YWJsZVF1 -YWxpZmllZE5hbWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlBvcnRhYmxlTm9kZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkZW50aWZp -ZXIiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQb3J0YWJsZU5vZGVJZCIgdHlwZT0idG5zOlBvcnRhYmxlTm9kZUlkIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0YWJsZU5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpQb3J0 -YWJsZU5vZGVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZQb3J0 -YWJsZU5vZGVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVW5zaWduZWRSYXRpb25hbE51bWJlciI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJhdG9yIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVub21pbmF0b3IiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zaWduZWRSYXRpb25h -bE51bWJlciIgdHlwZT0idG5zOlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIi -IHR5cGU9InRuczpVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVbnNpZ25lZFJhdGlv -bmFsTnVtYmVyIiB0eXBlPSJ0bnM6TGlzdE9mVW5zaWduZWRSYXRpb25hbE51bWJlciIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3Vi -U3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJQYXVzZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BlcmF0 -aW9uYWxfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfMyIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUHJlT3BlcmF0aW9uYWxfNCIgLz4NCiAgICA8L3hz -OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 -YlN1YlN0YXRlIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIiB0 -eXBlPSJ0bnM6TGlzdE9mUHViU3ViU3RhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2Ny -aXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxp -c3RPZkZpZWxkTWV0YURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNzSWQiIHR5cGU9InVhOkd1aWQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9u -VmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBlPSJ0bnM6 -RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RGF0YVNldE1ldGFEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0 -TWV0YURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0RmllbGRG -bGFncyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5 -cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0i -eHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp -bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWly -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpZWxkTWV0YURhdGEiIHR5 -cGU9InRuczpGaWVsZE1ldGFEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmll -bGRNZXRhRGF0YSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURhdGEiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFTZXRGaWVsZEZs -YWdzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRTaG9ydCI+DQogICAg -PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhU2V0RmllbGRGbGFncyIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZEZsYWdzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYWpvclZlcnNpb24iIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRp -b25WZXJzaW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNv -bmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5cGU9InRuczpD -b25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVmVyc2lv -bkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Rm9sZGVyIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0 -YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRXh0ZW5zaW9uRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWly -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGF0YVNldFNvdXJjZSIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0i -dG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRu -czpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRh -VHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVk -RGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURh -dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRh -U2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldFNvdXJjZURh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQ -dWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli -dXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsSGludCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnN0aXR1 -dGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZFZhcmlh -YmxlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJp -YWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2Nj +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJhc2VDb25maWd1cmF0 +aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblByb3BlcnRpZXMiIHR5 +cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOkJhc2VDb25maWd1 +cmF0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJhc2VD +b25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkJhc2VDb25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpCYXNlQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCYXNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mQmFzZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25S +ZWNvcmREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjb3JkUHJvcGVydGllcyIgdHlwZT0idG5zOkxp +c3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC +YXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIiB0eXBlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRp +b25SZWNvcmREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSIgdHlwZT0i +dG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJhc2VDb25maWd1 +cmF0aW9uUmVjb3JkRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZCYXNlQ29uZmlndXJhdGlvblJl +Y29yZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6QmFz +ZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdXJwb3NlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q2VydGlmaWNhdGVUeXBlcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQ2VydGlmaWNh +dGVBc3NpZ25lZCIgdHlwZT0idWE6TGlzdE9mQm9vbGVhbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWxpZGF0aW9uT3B0aW9u +cyIgdHlwZT0idG5zOlRydXN0TGlzdFZhbGlkYXRpb25PcHRpb25zIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpDZXJ0aWZpY2F0ZUdyb3VwRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNlcnRpZmljYXRlR3Jv +dXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q2VydGlmaWNhdGVHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6Q2VydGlmaWNhdGVHcm91cERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZDZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZD +ZXJ0aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXRoIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblVwZGF0ZVR5cGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgdHlw +ZT0idG5zOkNvbmZpZ3VyYXRpb25VcGRhdGVUYXJnZXRUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblVwZGF0ZVRh +cmdldFR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZFZh -cmlhYmxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29t -cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z -OlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhIiB0eXBlPSJ0bnM6TGlz -dE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0 -YUl0ZW1zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxp -c2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFJdGVtc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIg -dHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRFdmVu -dHNEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZl -bnROb3RpZmllciIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdGVkRmllbGRzIiB0eXBlPSJ0 -bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVk -RXZlbnRzRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZEV2ZW50 -c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1 -Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRXZlbnRzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSI+DQogICAgPHhzOmNv +dE9mQ29uZmlndXJhdGlvblVwZGF0ZVRhcmdldFR5cGUiIHR5cGU9InRuczpMaXN0T2ZDb25maWd1 +cmF0aW9uVXBkYXRlVGFyZ2V0VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQ29uZmlndXJhdGlvblVwZGF0ZVR5cGUiPg0KICAgIDx4 +czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVwbGFjZV8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRPclJlcGxhY2VfMyIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVsZXRlXzQiIC8+DQogICAgPC94czpyZXN0 +cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uVXBkYXRlVHlwZSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25VcGRhdGVUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBkYXRlVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlv +blVwZGF0ZVR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVXBkYXRlVHlwZSIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVXBk +YXRlVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25VcGRhdGVUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2Fj +dGlvbkVycm9yVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGFyZ2V0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBl +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlRyYW5zYWN0aW9uRXJyb3JUeXBlIiB0eXBlPSJ0bnM6VHJhbnNhY3Rpb25FcnJvclR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRyYW5zYWN0aW9uRXJyb3JUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2FjdGlvbkVy +cm9yVHlwZSIgdHlwZT0idG5zOlRyYW5zYWN0aW9uRXJyb3JUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcmFuc2Fj +dGlvbkVycm9yVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRyYW5zYWN0aW9uRXJyb3JUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBcHBs +aWNhdGlvbkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpCYXNlQ29uZmlndXJh +dGlvbkRhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHkiIHR5cGU9InRuczpBcHBsaWNhdGlvbklkZW50 +aXR5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZDZXJ0 +aWZpY2F0ZUdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlz +dE9mU2VydmVyRW5kcG9pbnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRFbmRwb2ludHMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5U2V0dGluZ3MiIHR5cGU9InRu +czpMaXN0T2ZTZWN1cml0eVNldHRpbmdzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ3Mi +IHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhvcml6 +YXRpb25TZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RPZkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvbkNvbmZpZ3Vy +YXRpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQXBwbGlj +YXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6QXBwbGljYXRpb25Db25maWd1cmF0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9u +Q29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25Db25maWd1 +cmF0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRhVHlwZSI+DQogICAgPHhzOmNv bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3ljbGljRGF0YVNldCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFU -eXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldEN1c3RvbVNvdXJjZURhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291 -cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hl -ZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldEN1 -c3RvbVNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNldEN1c3Rv -bVNvdXJjZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBY3Rpb25UYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0SWQiIHR5cGU9InhzOnVuc2ln -bmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldERhdGFUeXBl -IiB0eXBlPSJ0bnM6QWN0aW9uVGFyZ2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkFj -dGlvblRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSI+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdERhdGFTZXRN -ZXRhRGF0YSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0 -cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvblRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQdWJs -aXNoZWRBY3Rpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVk -QWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mUHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjdGlvblN0YXRlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSWRsZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRpbmdfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRG9uZV8yIiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9u -U3RhdGUiIHR5cGU9InRuczpBY3Rpb25TdGF0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mQWN0aW9uU3RhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFjdGlvblN0YXRlIiB0eXBlPSJ0bnM6QWN0aW9uU3RhdGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWN0aW9uU3RhdGUiIHR5cGU9 -InRuczpMaXN0T2ZBY3Rpb25TdGF0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdElkIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNZXRob2RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkFjdGlvbk1ldGhvZERhdGFUeXBlIiB0eXBlPSJ0bnM6QWN0aW9uTWV0aG9k -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFjdGlvbk1ldGhv -ZERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkFjdGlvbk1ldGhvZERhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBY3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkFjdGlvbk1ldGhvZERh -dGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJQdWJsaXNoZWRBY3Rpb25NZXRob2REYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJs -aXNoZWRBY3Rpb25EYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2RzIiB0eXBlPSJ0bnM6TGlzdE9mQWN0aW9uTWV0 -aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +czpCYXNlQ29uZmlndXJhdGlvblJlY29yZERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1lcyIgdHlwZT0idWE6TGlzdE9mTG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZGRpdGlvbmFsU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVz +Y3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbklk +ZW50aXR5RGF0YVR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uSWRlbnRpdHlEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25JZGVudGl0eURhdGFUeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25JZGVudGl0eURhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZBcHBsaWNhdGlvbklkZW50aXR5RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGF0YVR5cGUiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1 +YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya05hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +b3J0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwv eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 -ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRB -Y3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRBY3Rpb25N -ZXRob2REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRBY3Rp -b25NZXRob2REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludERh +dGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbmRw +b2ludERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXJ2ZXJFbmRwb2ludERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVuZHBv +aW50RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnRVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp +dHlTZXR0aW5nTmFtZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9m +aWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ05hbWVzIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2ZXJzZUNvbm5lY3RVcmxzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJFbmRwb2lu +dERhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyRW5kcG9pbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyRW5kcG9pbnREYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnREYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlckVuZHBvaW50RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlckVuZHBv +aW50RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJFbmRwb2ludERhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZWN1 +cml0eVNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs +c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNv +cmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGVzIiB0eXBlPSJ0bnM6TGlzdE9mTWVzc2FnZVNlY3VyaXR5TW9k +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +ZXJ0aWZpY2F0ZUdyb3VwTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2VjdXJp +dHlTZXR0aW5nc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +ZWN1cml0eVNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlY3VyaXR5U2V0dGluZ3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5 +U2V0dGluZ3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUi -IHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWRBY3Rpb25NZXRob2REYXRhVHlwZSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldEZp -ZWxkQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZElu -dCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkRhdGFTZXRGaWVs -ZENvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0 -RmllbGRDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250 -ZW50TWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRGaWVsZENv -bnRlbnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9 -InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iS2V5RnJhbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXROYW1lIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZh -bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIHR5cGU9InRuczpE -YXRhU2V0V3JpdGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRl -ckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIg -dHlwZT0idG5zOkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyVHJh -bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP -ZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 -cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVz -c2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mU2VjdXJpdHlTZXR0aW5nc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5TZXR0aW5nc0Rh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkJhc2VDb25maWd1cmF0aW9uUmVjb3JkRGF0YVR5cGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5U +eXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9Iklzc3VlZFRva2VuVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lV +cmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkF1dGhvcml6YXRpb25TZXJ2aWNlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuU2V0dGluZ3NEYXRhVHlw +ZSIgdHlwZT0idG5zOlVzZXJUb2tlblNldHRpbmdzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblNldHRpbmdzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNldHRpbmdzRGF0YVR5 +cGUiIHR5cGU9InRuczpVc2VyVG9rZW5TZXR0aW5nc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9r +ZW5TZXR0aW5nc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuU2V0dGluZ3NEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6QmFzZUNvbmZpZ3VyYXRpb25SZWNvcmREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUNlcnRpZmljYXRlIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9Iklzc3VlckVuZHBvaW50U2V0dGluZ3MiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlv +bkRhdGFUeXBlIiB0eXBlPSJ0bnM6QXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkF1dGhvcml6YXRpb25T +ZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25EYXRhVHlw +ZSIgdHlwZT0idG5zOkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWNp +bWFsRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNjYWxlIiB0eXBlPSJ4czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWNpbWFsRGF0YVR5cGUiIHR5cGU9InRuczpEZWNpbWFsRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2Vz +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIHR5cGU9InRuczpM +aXN0T2ZTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0 +T2ZFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFT -ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBJ -ZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RP -ZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91 -cFByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOlB1 -YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1 -YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViR3Jv -dXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJTdWJHcm91 -cERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IktlZXBBbGl2ZVRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMi -IHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIZWFkZXJMYXlvdXRVcmkiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFT -ZXRXcml0ZXJzIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5z -OldyaXRlckdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZldyaXRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVy -R3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpXcml0 -ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBl -PSJ0bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBU -cmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwVHJhbnNwb3J0RGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVyR3Jv -dXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBN -ZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +RGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlU2NoZW1h +SGVhZGVyIiB0eXBlPSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl +U2NoZW1hSGVhZGVyIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InVhOlF1YWxpZmll +ZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpEYXRhVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBl +PSJ0bnM6TGlzdE9mRGF0YVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24iPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0 +bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1 +cmVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVt +RGVzY3JpcHRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlv +biIgdHlwZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlwZT0idG5z +OkVudW1EZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51 +bURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbnVtRGVzY3JpcHRpb24iIHR5cGU9InRuczpFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +dW1EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlVHlw +ZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQmFzZURhdGFUeXBl +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2lt +cGxlVHlwZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +aW1wbGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlNpbXBsZVR5cGVEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m +U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTY2hlbWFMb2NhdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkZpbGVIZWFkZXIiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9keSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5 +cGU9InRuczpVQUJpbmFyeUZpbGVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VUFCaW5h +cnlGaWxlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbm5lY3Rpb25E -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InVhOlZh -cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9y -dFByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZHJlc3MiIHR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQ -YWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRl -ckdyb3VwcyIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91 -cHMiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +TGlzdE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBvcnRhYmxlUXVhbGlmaWVkTmFtZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6UG9ydGFi +bGVRdWFsaWZpZWROYW1lIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0 +YWJsZVF1YWxpZmllZE5hbWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvcnRhYmxlUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlBvcnRhYmxlUXVhbGlmaWVk +TmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mUG9ydGFibGVRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUG9y +dGFibGVRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJQb3J0YWJsZU5vZGVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ +ZGVudGlmaWVyIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUG9ydGFibGVOb2RlSWQiIHR5cGU9InRuczpQb3J0YWJsZU5vZGVJZCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUG9ydGFibGVOb2RlSWQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvcnRhYmxlTm9kZUlkIiB0eXBlPSJ0 +bnM6UG9ydGFibGVOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5z -OlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29ubmVjdGlvblRy -YW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvblRyYW5z -cG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rp -b25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m -Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrSW50ZXJmYWNl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtB -ZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0FkZHJlc3NE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOZXR3b3Jr -QWRkcmVzc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ -DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtB -ZGRyZXNzVXJsRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5l -dHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3Jr -QWRkcmVzc1VybERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBEYXRh -VHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlcnMiIHR5cGU9InRuczpMaXN0T2ZEYXRh -U2V0UmVhZGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFk -ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBEYXRhVHlwZSIg -dHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3Bv -cnREYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdy -b3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg -dHlwZT0idG5zOlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBvcnRhYmxlTm9kZUlkIiB0eXBlPSJ0bnM6TGlz +dE9mUG9ydGFibGVOb2RlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyYXRvciIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbm9taW5h +dG9yIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVuc2lnbmVk +UmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnNpZ25lZFJhdGlvbmFs +TnVtYmVyIiB0eXBlPSJ0bnM6VW5zaWduZWRSYXRpb25hbE51bWJlciIgbWluT2NjdXJzPSIwIiBt YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZGVy -R3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cE1lc3NhZ2VE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -dWJsaXNoZXJJZCIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlcklkIiB0 -eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlY2Vp -dmVUaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IktleUZyYW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIZWFkZXJMYXlvdXRVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBJ -ZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RP -ZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgdHlwZT0idG5z -Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmliZWREYXRhU2V0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6 -RGF0YVNldFJlYWRlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZEYXRhU2V0UmVhZGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFk -ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi -IHR5cGU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0 -YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1l -c3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5z -OlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRu -czpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldERh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVGFyZ2V0 -VmFyaWFibGVzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlw -ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -YXJnZXRWYXJpYWJsZXMiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIHR5 -cGU9InRuczpUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpZWxkVGFyZ2V0 -RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh -dGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdl -dE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUluZGV4 -UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgdHlwZT0idG5z -Ok92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iT3ZlcnJpZGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpGaWVsZFRhcmdldERhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZFRhcmdl -dERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmllbGRU -YXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik92ZXJy -aWRlVmFsdWVIYW5kbGluZyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ikxhc3RVc2FibGVWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJPdmVycmlkZVZhbHVlXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N -CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFu -ZGxpbmciIHR5cGU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBl -PSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgdHlwZT0idG5zOkxp -c3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlw -ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmVudE5vZGVOYW1lIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25zIiB0eXBlPSJ0bnM6TGlzdE9mUm9s -ZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0TWly -cm9yRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmli -ZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIHR5cGU9InRuczpT -dWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNl -dE1pcnJvckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0cyIgdHlwZT0idG5zOkxp -c3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb25zIiB0eXBlPSJ0bnM6TGlz -dE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0i -dG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi -IHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNv -bmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25E -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWRE -YXRhU2V0UmVmRGF0YVR5cGUiIHR5cGU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRS -ZWZEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhbmRhbG9u -ZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBl -IiB0eXBlPSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIG1pbk9j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVW5zaWdu +ZWRSYXRpb25hbE51bWJlciIgdHlwZT0idG5zOkxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 +IlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iUGF1c2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik9wZXJhdGlvbmFsXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzMi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlByZU9wZXJhdGlvbmFsXzQiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJTdGF0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViU3RhdGUiIHR5cGU9InRuczpQdWJTdWJTdGF0ZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJT +dGF0ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YlN0YXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZHMiIHR5cGU9 +InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ1YTpH +dWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmln +dXJhdGlvblZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K +ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0TWV0 +YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +RGF0YVNldE1ldGFEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRp +b24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZEZsYWdzIiB0eXBlPSJ0bnM6RGF0YVNl +dEZpZWxkRmxhZ3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1 +aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi +IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5ndGgi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZh +bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZE1ldGFE +YXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkZpZWxkTWV0YURhdGEiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0UmVmRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YW5kYWxvbmVTdWJz -Y3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0 -YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGb2xkZXIiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERh -dGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGFuZGFsb25lU3Vic2Ny -aWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpT -dGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +c3RPZkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhU2V0 +RmllbGRGbGFncyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkU2hvcnQi +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YVNldEZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0RmllbGRGbGFncyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFqb3JWZXJz +aW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5cGU9InRuczpDb25m +aWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhbmRhbG9uZVN1 -YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdGFuZGFsb25lU3Vic2Ny -aWJlZERhdGFTZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29uZmlndXJhdGlv +blZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0 +YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZvbGRl +ciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0 +YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZktleVZh +bHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFTZXRTb3VyY2UiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUi +IHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiB0 +eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRh +U2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1 +Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkVmFyaWFibGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhpbnQiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZWN1cml0eUdyb3VwRm9sZGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlMaWZldGltZSIg -dHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4RnV0dXJlS2V5Q291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNYXhQYXN0S2V5Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9u -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikdyb3VwUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwRGF0YVR5cGUi -IHR5cGU9InRuczpTZWN1cml0eUdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlNlY3VyaXR5R3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VjdXJpdHlHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +dWJzdGl0dXRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgdHlwZT0idWE6TGlzdE9mUXVh +bGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +ZWRWYXJpYWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz +aGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJs +aXNoZWRWYXJpYWJsZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YSIgdHlwZT0i +dG5zOkxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxp +c2hlZERhdGFJdGVtc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YUl0ZW1zRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlz +aGVkRXZlbnRzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURh +dGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RlZEZpZWxkcyIg +dHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl +PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEV2ZW50c0RhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +ZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZEV2 +ZW50c0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkN5Y2xpY0RhdGFTZXQiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3Vy +Y2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldEN1 +c3RvbVNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiIHR5cGU9InRuczpQ +dWJsaXNoZWREYXRhU2V0Q3VzdG9tU291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERh +dGFTZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFT +ZXRDdXN0b21Tb3VyY2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4 +czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVk +VGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXRE +YXRhVHlwZSIgdHlwZT0idG5zOkFjdGlvblRhcmdldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0RGF0YVR5cGUiIHR5cGU9 +InRuczpBY3Rpb25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWN0aW9uVGFyZ2V0RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVkQWN0aW9uRGF0 +YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RE +YXRhU2V0TWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlv +blRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZBY3Rpb25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOlB1 +Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIHR5 -cGU9InRuczpMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXRE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBw -bGljYXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1c2hUYXJnZXRGb2xkZXIiIHR5cGU9InVh -Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJU -b2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZEtleUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyeUludGVydmFsIiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1c2hUYXJnZXRQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vj -dXJpdHlHcm91cHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBl -PSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJLZXlQdXNo -VGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5 -cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViQ29u -ZmlndXJhdGlvbkRhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlN0YW5k -YWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc2VzIiB0eXBl -PSJ0bnM6TGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0U2VjdXJpdHlLZXlT -ZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -U3ViS2V5UHVzaFRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0 -YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlv -blByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiB0eXBlPSJ0 -bnM6UHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlw -ZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRBY3Rpb25EYXRhVHlwZSIg +dHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZEFjdGlvbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBY3Rpb25TdGF0ZSI+DQog +ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IklkbGVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0 +aW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRvbmVfMiIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkFjdGlvblN0YXRlIiB0eXBlPSJ0bnM6QWN0aW9uU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFjdGlvblN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0YXRlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFjdGlvblN0YXRl +IiB0eXBlPSJ0bnM6TGlzdE9mQWN0aW9uU3RhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGlvbk1ldGhvZERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2REYXRhVHlwZSIgdHlwZT0idG5zOkFjdGlv +bk1ldGhvZERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3Rp +b25NZXRob2REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpBY3Rpb25NZXRob2REYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBY3Rpb25N +ZXRob2REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpj +b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 +bnM6UHVibGlzaGVkQWN0aW9uRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uTWV0aG9kcyIgdHlwZT0idG5zOkxpc3RPZkFj +dGlvbk1ldGhvZERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi +bGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRBY3Rpb25NZXRo +b2REYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVk +QWN0aW9uTWV0aG9kRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlz +aGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEFjdGlvbk1ldGhvZERh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRh +dGFTZXRGaWVsZENvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRh +U2V0RmllbGRDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RGF0YVNldEZpZWxkQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZp +ZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0 +RmllbGRDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFi +bGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IktleUZyYW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0 +T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdy +aXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERh +dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2Fn +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdy +aXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iR3JvdXBQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9 +InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQdWJTdWJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViR3JvdXBE +YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1 +YlN1Ykdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVi +U3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVy +dmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJLZWVwQWxpdmVUaW1lIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWdu +ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9j +YWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGVhZGVyTGF5b3V0VXJpIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0V3JpdGVycyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5 +cGU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP +ZldyaXRlckdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSIgdHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1 -YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25maWd1cmF0 -aW9uMkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1w -bGVUeXBlICBuYW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5kZWZpbmVk -XzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkXzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xl -XzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVy -aW5nVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVy -aW5nVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5n -VHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVhZHBOZXR3b3JrTWVz -c2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJ -bnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRw -TmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0 -eXBlPSJ0bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVu -dE1hc2siIHR5cGU9InRuczpMaXN0T2ZVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFk -cFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVz -c2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ikdyb3VwVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmciIHR5cGU9 -InRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBO -ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdPZmZzZXQiIHR5 -cGU9InVhOkxpc3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t -cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVh -ZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBXcml0ZXJHcm91cE1l -c3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcFdy +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRl +ckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldy aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpV -YWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1l -c3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh -VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50 -TWFzayIgdHlwZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRN -ZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRw -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZlVhZHBEYXRhU2V0TWVz -c2FnZUNvbnRlbnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1h -c2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyZWRTaXplIiB0eXBlPSJ4 -czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0 -eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0 -YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRl +ckdyb3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25u +ZWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBl +PSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktl +eVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJXcml0ZXJHcm91cHMiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVh +ZGVyR3JvdXBzIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5 +cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9u +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbm5l +Y3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rp +b25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9y +dERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +b25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0lu +dGVyZmFjZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0Rh +dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVz +c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +ZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtB +ZGRyZXNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpO +ZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0eXBlPSJ0bnM6 +TmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNz -YWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0 -YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01l -c3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25l -ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVNldENsYXNzSWQiIHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFk -cE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFk -cERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVPZmZzZXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlByb2Nlc3NpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdy +b3VwRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0 +aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJzIiB0eXBlPSJ0bnM6TGlz +dE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNl -dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBl -IiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVh -ZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFT -ZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5l -dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250 -ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdv -cmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpM -aXN0T2ZKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2Fn -ZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtN -ZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFz -ayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl -PSJ0bnM6SnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3Nh -Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNv -bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFz -ayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hz -OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpz -b25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl -Q29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRh -U2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25E -YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0 -bnM6TGlzdE9mSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVy -TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 -cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNv -bnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRh -dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1l -c3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi -IHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRh -dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1l -c3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdv -cmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFT -ZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVy -TWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5 -cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0UmVhZGVy -TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRh -U2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3Nh -Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU -eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlFvc0RhdGFUeXBlIiB0 -eXBlPSJ0bnM6UW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZlFvc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJRb3NEYXRhVHlwZSIgdHlwZT0idG5zOlFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +ZT0iUmVhZGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRb3NEYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZlFvc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNtaXRR -b3NEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRyYW5zbWl0UW9zRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbWl0UW9zRGF0YVR5cGUiIHR5cGU9 -InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc0RhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mVHJhbnNtaXRRb3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNtaXRRb3NQcmlvcml0eURh -dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOlRyYW5zbWl0UW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNtaXRR -b3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6VHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc1ByaW9yaXR5 -RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zUHJpb3JpdHlE +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91 +cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3Vw +VHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9y +dERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBN +ZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxl +ZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0 +ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh +Z2VSZWNlaXZlVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlGcmFtZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGVhZGVyTGF5b3V0VXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRu +czpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIHR5 +cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRh +U2V0UmVhZGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERh +dGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnRE YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNtaXRRb3NQcmlvcml0eURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWNlaXZlUW9zRGF0YVR5cGUiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6UW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZl -UW9zRGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFvc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eUxhYmVsIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZlUW9zUHJpb3Jp -dHlEYXRhVHlwZSIgdHlwZT0idG5zOlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFvc1By -aW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mUmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWNlaXZl -UW9zUHJpb3JpdHlEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUFkZHJlc3Mi -IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YWdy -YW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFu -c3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFU +ZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyTWVz +c2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1lc3Nh +Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRS +ZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhZ3JhbUNv -bm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YWdyYW1Db25uZWN0 -aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5QW5ub3VuY2VSYXRlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nv -dmVyeU1heE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlFvc0NhdGVnb3J5IiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YWdyYW1Rb3MiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg -ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9y -dDJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydDJEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0aW9u -VHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpE -YXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u -bmVjdGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtQ29ubmVj -dGlvblRyYW5zcG9ydDJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU -eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl -eHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVh -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlUmVwZWF0RGVsYXkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0 -eXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0 -YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFn -cmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVy -R3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z -cG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9y -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUW9zQ2F0ZWdvcnkiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhZ3JhbVFvcyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nv -dmVyeUFubm91bmNlUmF0ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3BpYyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9y -dDJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5 -cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3Jv -dXBUcmFuc3BvcnQyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRu -czpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhZ3Jh -bVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1X -cml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNw -b3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFk -ZHJlc3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NDYXRlZ29yeSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRhdGFncmFtUW9zIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl -Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVG9waWMiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K -ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 -bnM6RGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFU -eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3Jh -bURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtRGF0YVNl -dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhZ3JhbURhdGFTZXRSZWFkZXJU -cmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDaXBoZXJTdWl0ZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VydmVyQ2lwaGVyU3VpdGVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +dCBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz +dE9mRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5 +cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0 +eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERh +dGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0 +RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0VmFyaWFibGVzIiB0eXBlPSJ0bnM6TGlzdE9mRmllbGRUYXJnZXREYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFU +eXBlIiB0eXBlPSJ0bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIg +dHlwZT0idG5zOlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUYXJnZXRWYXJpYWJs +ZXNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVs +ZFRhcmdldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmci IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJaZXJvUlRUIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZUdyb3VwSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmlm -eUNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOkR0bHNQdWJTdWJDb25u -ZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkR0bHNQ -dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpEdGxz -UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEdGxzUHViU3ViQ29ubmVjdGlvbkRh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJv -a2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkNvbm5lY3Rpb25U -cmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNvdXJjZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRp -Y2F0aW9uUHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ -DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 -QnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFu -c3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm9rZXJUcmFuc3BvcnRR -dWFsaXR5T2ZTZXJ2aWNlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm90U3BlY2lmaWVkXzAiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJlc3RFZmZvcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQXRMZWFzdE9uY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iQXRNb3N0T25jZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGFjdGx5 -T25jZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgdHlwZT0i -dG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxp -dHlPZlNlcnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlclRy -YW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJUcmFuc3BvcnRR -dWFsaXR5T2ZTZXJ2aWNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNh -dGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1 -YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu -czpCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJXcml0ZXJHcm91 -cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnRE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tlckRh -dGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVy -VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VV -cmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJy -b2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1ldGFEYXRhVXBkYXRlVGltZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJE -YXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5 -cGU9InRuczpMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tl -ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0UmVh -ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3Vy -Y2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5z -OkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFJlYWRlclRy -YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERh -dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0 -UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i -dG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2Vy -RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyRGF0 -YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1 -YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZk1h -c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRp -b25SZWZNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -dWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25S -ZWZNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29uZmln -dXJhdGlvblJlZk1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvbk1hc2siIHR5 -cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uSW5k -ZXgiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikdyb3VwSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +PSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp +dGVJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5 +cGU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIHR5cGU9InRuczpQ -dWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFU -eXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiBtaW5PY2N1cnM9 +ZWxlbWVudCBuYW1lPSJGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXRE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRUYXJnZXRE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmll +bGRUYXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l +PSJPdmVycmlkZVZhbHVlSGFuZGxpbmciPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz +dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMYXN0VXNhYmxlVmFsdWVfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iT3ZlcnJpZGVWYWx1ZV8yIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3ZlcnJpZGVW +YWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGlu +ZyIgdHlwZT0idG5zOk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9 +InRuczpMaXN0T2ZPdmVycmlkZVZhbHVlSGFuZGxpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9y +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2Rl +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxp +c3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpYmVkRGF0 +YVNldE1pcnJvckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT +dWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiB0eXBl +PSJ0bnM6U3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJl +ZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0 +TWlycm9yRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldHMiIHR5cGU9 +InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9ucyIgdHlwZT0i +dG5zOkxpc3RPZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUi +IHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRh +dGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9 IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ -dWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25m -aWd1cmF0aW9uUmVmRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9u -RWxlbWVudCIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklkZW50aWZpZXIiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgdHlwZT0idG5z -OlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblZh -bHVlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCI+DQog -ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJhc2ljXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFkdmFu -Y2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluZm9fMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IkRlYnVnXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6RGlh -Z25vc3RpY3NMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGlhZ25v -c3RpY3NMZXZlbCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0idG5zOkRpYWdub3N0aWNzTGV2ZWwiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY3NMZXZlbCIg -dHlwZT0idG5zOkxpc3RPZkRpYWdub3N0aWNzTGV2ZWwiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRl -ckNsYXNzaWZpY2F0aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5mb3JtYXRpb25fMCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K -ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNz -Q291bnRlckNsYXNzaWZpY2F0aW9uIiB0eXBlPSJ0bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVy -Q2xhc3NpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1 -YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNh -dGlvbiIgdHlwZT0idG5zOlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkRp -YWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViRGlh -Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dENsYXNzSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5l -dHdvcmtNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWdu -ZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dFdyaXRlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTWV0YURhdGFWZXJzaW9uIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik1pbm9yVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1cyIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBheWxvYWQiIHR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNl -dE1lc3NhZ2UiIHR5cGU9InRuczpKc29uRGF0YVNldE1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0TWV0YURhdGFNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3Ry +dWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25maWd1 +cmF0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE5hbWUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJz +Y3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWRE +YXRhU2V0UmVmRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0 +YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZE +YXRhVHlwZSIgdHlwZT0idG5zOlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXRSZWZEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldFJlZkRhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGFuZGFs +b25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpTdWJzY3JpYmVkRGF0 +YVNldERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Rm9sZGVyIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNl +dE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhbmRhbG9uZVN1YnNj +cmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFT +ZXREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhbmRhbG9u +ZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN0YW5kYWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBl +PSJ0bnM6U3RhbmRhbG9uZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0YW5k +YWxvbmVTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3RhbmRhbG9u +ZVN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlY3VyaXR5R3JvdXBEYXRhVHlwZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVNldFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNZXRhRGF0YSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIHR5 -cGU9InRuczpKc29uRGF0YVNldE1ldGFEYXRhTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iSnNvbkFwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlv -bkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFwcGxpY2F0aW9uRGVz -Y3JpcHRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFwcGxpY2F0aW9uRGVzY3JpcHRpb25NZXNz -YWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uU2VydmVyRW5kcG9pbnRzTWVz -c2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2Fn -ZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -bGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0 -eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxp -c3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSnNvblNlcnZlckVuZHBvaW50c01lc3NhZ2UiIHR5cGU9InRuczpKc29uU2VydmVyRW5k -cG9pbnRzTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvblN0YXR1c01l -c3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh -Z2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0N5Y2xpYyIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5leHRSZXBvcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikpzb25TdGF0dXNNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvblN0YXR1c01l -c3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25QdWJTdWJDb25uZWN0aW9u -TWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVz -c2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb24i -IHR5cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiB0eXBlPSJ0bnM6 -SnNvblB1YlN1YkNvbm5lY3Rpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJKc29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNl -dFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvblRhcmdl -dERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdCIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25NZXRob2RzIiB0eXBl -PSJ0bnM6TGlzdE9mQWN0aW9uTWV0aG9kRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVzc2FnZSIgdHlwZT0idG5zOkpzb25B -Y3Rpb25NZXRhRGF0YU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25B -Y3Rpb25SZXNwb25kZXJNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ29ubmVjdGlvbiIgdHlwZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2Fn -ZSIgdHlwZT0idG5zOkpzb25BY3Rpb25SZXNwb25kZXJNZXNzYWdlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uTmV0d29ya01lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUFkZHJlc3MiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -cnJlbGF0aW9uRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdG9ySWQiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRpbWVvdXRIaW50IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFj -dGlvbk5ldHdvcmtNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFjdGlvbk5ldHdvcmtNZXNzYWdlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uUmVxdWVzdE1lc3NhZ2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJ -ZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWN0aW9uVGFyZ2V0SWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJOYW1lIiB0 +bmFtZT0iU2VjdXJpdHlHcm91cEZvbGRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iS2V5TGlm +ZXRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEZ1dHVyZUtl +eUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UGFzdEtleUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cElkIiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGFE -YXRhVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5v -clZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0 -YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSnNvbkFjdGlvblJlcXVlc3RNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkFjdGlvblJlcXVl -c3RNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uQWN0aW9uUmVzcG9u -c2VNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhU2V0V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4czp1bnNpZ25l -ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 -V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNZXRhRGF0YVZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBl -PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdElkIiB0eXBlPSJ4czp1bnNp -Z25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rp -b25TdGF0ZSIgdHlwZT0idG5zOkFjdGlvblN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvblJlc3BvbnNlTWVzc2Fn -ZSIgdHlwZT0idG5zOkpzb25BY3Rpb25SZXNwb25zZU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBbGlhc05hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VkTm9kZXMiIHR5cGU9InVhOkxpc3RPZkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiB0eXBlPSJ0bnM6 -QWxpYXNOYW1lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFs -aWFzTmFtZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkFsaWFzTmFtZURhdGFUeXBlIiBtaW5P +eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVy +bWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJHcm91cFByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBh +aXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cERh +dGFUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTZWN1cml0eUdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlY3VyaXR5R3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VjdXJpdHlHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2VjdXJpdHlHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJLZXlQdXNo +VGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdXNoVGFyZ2V0Rm9sZGVyIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vj +dXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRu +czpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRLZXlDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRT +aG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0cnlJbnRl +cnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdXNoVGFyZ2V0UHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFp +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlY3VyaXR5R3JvdXBzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViS2V5UHVzaFRhcmdldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZQdWJTdWJLZXlQdXNoVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlw +ZSIgdHlwZT0idG5zOlB1YlN1YktleVB1c2hUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3Vi +S2V5UHVzaFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViS2V5UHVzaFRhcmdl +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlB1 +YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldHMiIHR5cGU9InRuczpMaXN0 +T2ZTdGFuZGFsb25lU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0Q2xhc3Nl +cyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVmYXVsdFNlY3Vy +aXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5R3JvdXBzIiB0eXBlPSJ0bnM6TGlzdE9mU2VjdXJpdHlHcm91cERhdGFUeXBlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlB1YlN1YktleVB1c2hUYXJnZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViS2V5UHVzaFRh +cmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp +Z3VyYXRpb25Qcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbjJEYXRhVHlwZSIg +dHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb24yRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb24y +RGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZQdWJTdWJDb25maWd1cmF0aW9uMkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29u +ZmlndXJhdGlvbjJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSI+DQogICAgPHhzOnJlc3Ry +aWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +ZGVmaW5lZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc2NlbmRpbmdXcml0 +ZXJJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc2NlbmRpbmdXcml0ZXJJ +ZFNpbmdsZV8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRPcmRlcmluZ1R5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFT +ZXRPcmRlcmluZ1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRPcmRlcmluZ1R5cGUiIHR5cGU9InRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRP +cmRlcmluZ1R5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0T3JkZXJpbmdUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVYWRwTmV0 +d29ya01lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu +c2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0 +bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBOZXR3b3JrTWVzc2Fn +ZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1h +c2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250 +ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJH +cm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5n +IiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu +czpVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nT2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nT2Zm +c2V0IiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBl +PSJ0bnM6VWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwV3JpdGVyR3JvdXBNZXNz +YWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog +IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdl +Q29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRNZXNzYWdlQ29udGVu +dE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBE +YXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0 +YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNv +bnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmVkU2l6ZSIg +dHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9m +ZnNldCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFdyaXRlck1lc3Nh +Z2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFT +ZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +VWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0V3Jp +dGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR3JvdXBWZXJzaW9uIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5l +dHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9mZnNldCIgdHlwZT0ieHM6 +dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0i +dG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0i +dG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi +bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZl +T2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5nT2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6VWFk +cERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VE +YXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5P Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkFsaWFzTmFtZURhdGFUeXBl -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l -PSJQYXNzd29yZE9wdGlvbnNNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z -aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFzc3dvcmRPcHRpb25zTWFzayIgdHlwZT0idG5zOlBhc3N3b3Jk -T3B0aW9uc01hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBhc3N3b3Jk -T3B0aW9uc01hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlBhc3N3b3JkT3B0aW9uc01hc2siIHR5cGU9InRuczpQYXNzd29yZE9wdGlvbnNNYXNrIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhc3N3b3JkT3B0 -aW9uc01hc2siIHR5cGU9InRuczpMaXN0T2ZQYXNzd29yZE9wdGlvbnNNYXNrIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyQ29uZmln -dXJhdGlvbk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ -DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJVc2VyQ29uZmlndXJhdGlvbk1hc2siIHR5cGU9InRuczpVc2VyQ29uZmlndXJhdGlv -bk1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJDb25maWd1cmF0 -aW9uTWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckNvbmZpZ3VyYXRpb25NYXNrIiB0eXBlPSJ0bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJDb25maWd1 -cmF0aW9uTWFzayIgdHlwZT0idG5zOkxpc3RPZlVzZXJDb25maWd1cmF0aW9uTWFzayIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck1h -bmFnZW1lbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJDb25maWd1cmF0aW9uIiB0eXBl -PSJ0bnM6VXNlckNvbmZpZ3VyYXRpb25NYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIHR5cGU9InRu -czpVc2VyTWFuYWdlbWVudERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZVc2VyTWFuYWdlbWVudERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VyTWFuYWdlbWVudERhdGFUeXBlIiB0eXBlPSJ0bnM6VXNlck1h -bmFnZW1lbnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVXNlck1hbmFnZW1lbnREYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jb2RlZFRpY2tldCIgdHlwZT0ieHM6c3Ry -aW5nIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEdXBsZXgiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJG -dWxsXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhhbGZfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRHVwbGV4IiB0eXBl -PSJ0bnM6RHVwbGV4IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEdXBsZXgi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkR1cGxleCIgdHlw -ZT0idG5zOkR1cGxleCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZEdXBsZXgiIHR5cGU9InRuczpMaXN0T2ZEdXBsZXgiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkludGVyZmFjZUFkbWluU3Rh -dHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUZXN0aW5nXzIiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgdHlwZT0idG5zOkludGVyZmFjZUFkbWluU3RhdHVz -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1 -cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW50ZXJmYWNl -QWRtaW5TdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VBZG1pblN0YXR1cyIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1 -cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZUFkbWluU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJbnRlcmZhY2VPcGVyU3Rh -dHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUZXN0aW5nXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iRG9ybWFudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb3RQcmVzZW50XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxvd2VyTGF5 -ZXJEb3duXzYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VPcGVyU3RhdHVzIiB0eXBlPSJ0bnM6SW50ZXJm -YWNlT3BlclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSW50ZXJm -YWNlT3BlclN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5zOkludGVyZmFjZU9wZXJTdGF0dXMiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50ZXJmYWNl -T3BlclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZU9wZXJTdGF0dXMiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5lZ290aWF0 -aW9uU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5Qcm9ncmVzc18wIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJDb21wbGV0ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJGYWlsZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl8zIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb05lZ290aWF0aW9uXzQiIC8+DQogICAg -PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOk5lZ290aWF0aW9uU3RhdHVzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlvblN0YXR1cyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIHR5 -cGU9InRuczpOZWdvdGlhdGlvblN0YXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZk5l -Z290aWF0aW9uU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpz -aW1wbGVUeXBlICBuYW1lPSJUc25GYWlsdXJlQ29kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vRmFpbHVyZV8w -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnN1ZmZpY2llbnRCYW5kd2lkdGhf -MSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zdWZmaWNpZW50UmVzb3VyY2Vz -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc3VmZmljaWVudFRyYWZmaWND -bGFzc0JhbmR3aWR0aF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1J -ZEluVXNlXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVhbURlc3RpbmF0 -aW9uQWRkcmVzc0luVXNlXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVh -bVByZWVtcHRlZEJ5SGlnaGVyUmFua182IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJMYXRlbmN5SGFzQ2hhbmdlZF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJF -Z3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZV84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VEaWZmZXJlbnREZXN0aW5hdGlvbkFkZHJlc3NfOSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iT3V0T2ZNc3JwUmVzb3VyY2VzXzEwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPdXRPZk1tcnBSZXNvdXJjZXNfMTEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkNhbm5vdFN0b3JlRGVzdGluYXRpb25BZGRyZXNzXzEyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJQcmlvcml0eUlzTm90QW5TcmNDbGFzc18xMyIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWF4RnJhbWVTaXplVG9vTGFyZ2VfMTQiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heEZhbkluUG9ydHNMaW1pdFJlYWNoZWRfMTUiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZpcnN0VmFsdWVDaGFuZ2VkRm9yU3RyZWFt -SWRfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZsYW5CbG9ja2VkT25FZ3Jl -c3NfMTciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZsYW5UYWdnaW5nRGlzYWJs -ZWRPbkVncmVzc18xOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3JDbGFzc1By -aW9yaXR5TWlzbWF0Y2hfMTkiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZlYXR1 -cmVOb3RQcm9wYWdhdGVkXzIwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNYXhM -YXRlbmN5RXhjZWVkZWRfMjEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyaWRn -ZURvZXNOb3RQcm92aWRlTmV0d29ya0lkXzIyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTdHJlYW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWRfMjMiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlN0cmVhbUlkVHlwZU5vdFN1cHBvcnRlZF8yNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRmVhdHVyZU5vdFN1cHBvcnRlZF8yNSIgLz4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzbkZh -aWx1cmVDb2RlIiB0eXBlPSJ0bnM6VHNuRmFpbHVyZUNvZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlRzbkZhaWx1cmVDb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOlRzbkZhaWx1cmVD -b2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRz -bkZhaWx1cmVDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuRmFpbHVyZUNvZGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRzblN0cmVhbVN0 -YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQ29uZmlndXJpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVh -ZHlfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BlcmF0aW9uYWxfMyIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfNCIgLz4NCiAgICA8L3hzOnJlc3Ry -aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzblN0cmVh -bVN0YXRlIiB0eXBlPSJ0bnM6VHNuU3RyZWFtU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRzblN0cmVhbVN0YXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUc25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOlRzblN0cmVhbVN0YXRl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRzblN0 -cmVhbVN0YXRlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuU3RyZWFtU3RhdGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRzblRhbGtlclN0YXR1 -cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UmVhZHlfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRmFpbGVkXzIiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpUc25UYWxrZXJTdGF0dXMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0YXR1cyI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuVGFsa2VyU3RhdHVzIiB0eXBlPSJ0 -bnM6VHNuVGFsa2VyU3RhdHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZlRzblRhbGtlclN0 -YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWR5XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlBhcnRpYWxGYWlsZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -RmFpbGVkXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIgdHlwZT0idG5zOlRzbkxpc3Rl -bmVyU3RhdHVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25MaXN0ZW5l -clN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNu -TGlzdGVuZXJTdGF0dXMiIHR5cGU9InRuczpUc25MaXN0ZW5lclN0YXR1cyIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUc25MaXN0ZW5lclN0YXR1cyIg -dHlwZT0idG5zOkxpc3RPZlRzbkxpc3RlbmVyU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJDaGFzc2lzSWRTdWJ0eXBlIj4NCiAg -ICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQ2hhc3Npc0NvbXBvbmVudF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJbnRlcmZhY2VBbGlhc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQ -b3J0Q29tcG9uZW50XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1hY0FkZHJl -c3NfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmV0d29ya0FkZHJlc3NfNSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW50ZXJmYWNlTmFtZV82IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMb2NhbF83IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhc3Npc0lkU3Vi -dHlwZSIgdHlwZT0idG5zOkNoYXNzaXNJZFN1YnR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNoYXNzaXNJZFN1YnR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkNoYXNzaXNJZFN1YnR5cGUiIHR5cGU9InRuczpDaGFzc2lzSWRT -dWJ0eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkNoYXNzaXNJZFN1YnR5cGUiIHR5cGU9InRuczpMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQb3J0 -SWRTdWJ0eXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW50ZXJmYWNlQWxpYXNfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUG9ydENvbXBvbmVudF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJNYWNBZGRyZXNzXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Ik5ldHdvcmtBZGRyZXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVy -ZmFjZU5hbWVfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWdlbnRDaXJjdWl0 -SWRfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9jYWxfNyIgLz4NCiAgICA8 +aXN0T2ZVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlVh +ZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50 +TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8 L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlBvcnRJZFN1YnR5cGUiIHR5cGU9InRuczpQb3J0SWRTdWJ0eXBlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZQb3J0SWRTdWJ0eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6UG9ydElkU3Vi -dHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ -b3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mUG9ydElkU3VidHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWFuQWRkcklmU3Vi -dHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVW5rbm93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQb3J0UmVmXzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5c3RlbVBvcnROdW1iZXJfMyIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1hbkFkZHJJZlN1YnR5cGUiIHR5cGU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNYW5BZGRySWZTdWJ0eXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYW5BZGRySWZTdWJ0eXBlIiB0 -eXBlPSJ0bnM6TWFuQWRkcklmU3VidHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZNYW5BZGRySWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTWFu -QWRkcklmU3VidHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXBwaW5nVXJpIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJQcmlvcml0eUxhYmVsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eVZhbHVlX1BDUCIgdHlw -ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQcmlvcml0eVZhbHVlX0RTQ1AiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiB0eXBlPSJ0bnM6UHJpb3JpdHlN -YXBwaW5nRW50cnlUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQcmlv -cml0eU1hcHBpbmdFbnRyeVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgdHlwZT0idG5zOlByaW9yaXR5TWFw -cGluZ0VudHJ5VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJlc3NU -eFBvcnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRyZXNzU3VidHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbkFkZHJlc3MiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR4RW5h -YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBZGRyTGVuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TWFuQWRkcklmU3Vi -dHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWZJZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwTWFuYWdlbWVudEFk -ZHJlc3NUeFBvcnRUeXBlIiB0eXBlPSJ0bnM6TGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRy -ZXNzVHhQb3J0VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgdHlwZT0idG5zOkxsZHBNYW5hZ2Vt -ZW50QWRkcmVzc1R4UG9ydFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4UG9y -dFR5cGUiIHR5cGU9InRuczpMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJlc3NUeFBvcnRUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -bGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBZGRyZXNzU3VidHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZHJlc3MiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklmU3VidHlwZSIgdHlwZT0idG5zOk1hbkFkZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklmSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgdHlwZT0i -dG5zOkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUiIHR5cGU9 -InRuczpMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFk -ZHJlc3NUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGxk -cFRsdlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRs -dlR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUbHZJbmZvIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFRsdlR5cGUiIHR5cGU9InRuczpMbGRwVGx2 -VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcFRsdlR5cGUiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBUbHZUeXBlIiB0 -eXBlPSJ0bnM6TGxkcFRsdlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBUbHZUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mTGxkcFRsdlR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp -bXBsZVR5cGUgIG5hbWU9IkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwU3lzdGVtQ2FwYWJpbGl0 -aWVzTWFwIiB0eXBlPSJ0bnM6TGxkcFN5c3RlbUNhcGFiaWxpdGllc01hcCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTGxkcFN5c3RlbUNhcGFiaWxpdGllc01hcCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFN5c3RlbUNhcGFiaWxp -dGllc01hcCIgdHlwZT0idG5zOkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTGxkcFN5c3RlbUNhcGFiaWxp -dGllc01hcCIgdHlwZT0idG5zOkxpc3RPZkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVy -ZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNvdXJjZU5vZGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGUi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZSIgdHlwZT0idWE6RXhw -YW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl -bmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgdHlwZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2Ny -aXB0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlTGlz -dEVudHJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0 -Tm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVu -Y2VMaXN0RW50cnlEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVm -ZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkVHlwZSI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik51bWVyaWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RyaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikd1aWRfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BhcXVlXzMiIC8+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5 -cGU9InRuczpJZFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZklkVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0 -eXBlPSJ0bnM6SWRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZklkVHlwZSIgdHlwZT0idG5zOkxpc3RPZklkVHlwZSIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUNsYXNzIj4NCiAg -ICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -T2JqZWN0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlZhcmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UmVmZXJlbmNlVHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5 -cGVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu -c2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5 -cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjY2Vzc0xldmVsVHlwZSI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkQnl0ZSI+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZl -bFR5cGUiIHR5cGU9InRuczpBY2Nlc3NMZXZlbFR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9IkFjY2Vzc0xldmVsRXhUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6 -dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeFR5cGUiIHR5cGU9InRuczpBY2Nlc3NM -ZXZlbEV4VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXZlbnROb3RpZmllclR5 -cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAgIDwv -eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -RXZlbnROb3RpZmllclR5cGUiIHR5cGU9InRuczpFdmVudE5vdGlmaWVyVHlwZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cm1pc3Npb25zIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBl -IiB0eXBlPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv -biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5z -OkRhdGFUeXBlRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24i -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVm -aW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlw -ZSAgbmFtZT0iU3RydWN0dXJlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aFN1YnR5cGVkVmFsdWVzXzMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uV2l0aFN1YnR5cGVkVmFsdWVzXzQiIC8+DQog +Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25O +ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBl +PSJ0bnM6TGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25Xcml0ZXJHcm91 +cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +ZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uV3JpdGVyR3Jv +dXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxp +c3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9u -IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh -bHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0cmlu -Z0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IklzT3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRmllbGQiIHR5cGU9 -InRuczpTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiIHR5cGU9InRuczpM -aXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE -YXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC -YXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0 -bnM6U3RydWN0dXJlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5zOlN0 -cnVjdHVyZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0 -cnVjdHVyZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJl -RGVmaW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRW51bURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl -ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZpbml0 -aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIgdHlw -ZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5z -Okxpc3RPZkVudW1EZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlw -ZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBl -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25z -IiB0eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclJvbGVQZXJtaXNzaW9u -cyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u -cyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGUiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSW5zdGFuY2VOb2RlIj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnN0YW5jZU5vZGUiIHR5cGU9InRu -czpJbnN0YW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlR5cGVOb2RlIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlTm9kZSIgdHlw -ZT0idG5zOlR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3ROb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +YW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0 +TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZK +c29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu +czpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIg +dHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNl +dFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVyTWVzc2Fn +ZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRX +cml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRS +ZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpz +b25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNl +dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0UmVhZGVyTWVzc2Fn +ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNl +dFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpK +c29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3Nh +Z2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUW9zRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NEYXRh +VHlwZSIgdHlwZT0idG5zOlFvc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZRb3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUW9zRGF0YVR5cGUiIHR5cGU9InRuczpRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUW9z +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZRb3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNtaXRRb3NEYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpRb3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbWl0UW9zRGF0YVR5cGUiIHR5cGU9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc21pdFFvc0RhdGFUeXBl +IiB0eXBlPSJ0bnM6VHJhbnNtaXRRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlRyYW5zbWl0UW9zRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbWl0UW9zUHJp +b3JpdHlEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUcmFuc21pdFFvc0RhdGFUeXBlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5TGFi +ZWwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlwZT0idG5zOlRyYW5zbWl0UW9zUHJpb3JpdHlE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNtaXRRb3NQ +cmlvcml0eURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUcmFuc21pdFFvc1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpUcmFuc21pdFFvc1By +aW9yaXR5RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZlRyYW5zbWl0UW9zUHJpb3JpdHlEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVjZWl2ZVFvc0RhdGFU +eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOlFvc0RhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVjZWl2ZVFvc0RhdGFUeXBlIiB0eXBlPSJ0bnM6UmVjZWl2ZVFvc0RhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWNlaXZlUW9zRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVRb3NEYXRhVHlwZSIg +dHlwZT0idG5zOlJlY2VpdmVRb3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVjZWl2ZVFvc0RhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mUmVjZWl2ZVFvc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWNlaXZlUW9zUHJpb3JpdHlE +YXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWNlaXZlUW9zRGF0YVR5cGUiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVjZWl2ZVFv +c1ByaW9yaXR5RGF0YVR5cGUiIHR5cGU9InRuczpSZWNlaXZlUW9zUHJpb3JpdHlEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVjZWl2ZVFvc1ByaW9yaXR5RGF0 +YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2Vp +dmVRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlJlY2VpdmVRb3NQcmlvcml0eURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +UmVjZWl2ZVFvc1ByaW9yaXR5RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlB +ZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3Bv +cnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0 +YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFncmFt +Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUFubm91bmNlUmF0ZSIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaXNjb3ZlcnlNYXhNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRb3NDYXRlZ29yeSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFncmFtUW9zIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25U +cmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQy +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u +bmVjdGlvblRyYW5zcG9ydDJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0MkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRh +Z3JhbUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhZ3Jh +bUNvbm5lY3Rpb25UcmFuc3BvcnQyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh +Z2VSZXBlYXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdE5vZGUiIHR5cGU9InRuczpPYmplY3ROb2Rl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlTm9kZSI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJPYmplY3RUeXBlTm9kZSIgdHlwZT0idG5zOk9iamVjdFR5cGVOb2RlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2Rl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh -bHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5 -cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVs -IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGlu -Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsRXgiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRu -czpWYXJpYWJsZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlw -ZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpM -aXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRh +VHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3Jh +bVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBU +cmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSI+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkcmVzcyIg +dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlFvc0NhdGVnb3J5IiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YWdyYW1Rb3MiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaXNjb3ZlcnlBbm5vdW5jZVJhdGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9waWMiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBU +cmFuc3BvcnQyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0 +MkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbVdy +aXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0MkRhdGFUeXBlIiB0 +eXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydDJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRh +dGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnQyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtRGF0YVNldFJlYWRl +clRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnRE +YXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUW9zQ2F0ZWdvcnki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVFvcyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5z +aW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRvcGljIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIg +dHlwZT0idG5zOkRhdGFncmFtRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhZ3JhbURhdGFTZXRSZWFkZXJUcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YWdyYW1EYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3Jh +bURhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YWdyYW1EYXRhU2V0 +UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhZ3JhbURhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2lwaGVyU3Vp +dGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNpcGhlclN1aXRlcyIgdHlwZT0idWE6TGlzdE9m +U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iWmVyb1JUVCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVHcm91cElkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJWZXJpZnlDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpEdGxzUHVi +U3ViQ29ubmVjdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEdGxzUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0 +bnM6RHRsc1B1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRHRsc1B1YlN1YkNvbm5l +Y3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkR0bHNQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25u +ZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +dXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJDb25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQnJva2VyVHJh +bnNwb3J0UXVhbGl0eU9mU2VydmljZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 +cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdFNwZWNpZmllZF8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXN0RWZmb3J0XzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkF0TGVhc3RPbmNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkF0TW9zdE9uY2VfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RXhhY3RseU9uY2VfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2Ui +IHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJUcmFuc3Bv +cnRRdWFsaXR5T2ZTZXJ2aWNlIiB0eXBlPSJ0bnM6QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2Vy +dmljZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZC +cm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyVHJh +bnNwb3J0UXVhbGl0eU9mU2VydmljZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0 +aGVudGljYXRpb25Qcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVs +aXZlcnlHdWFyYW50ZWUiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0 +eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyV3Jp +dGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlcldyaXRlckdyb3VwVHJh +bnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC +cm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNl +dFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5cGU9 +InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlwZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFt -ZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29u -dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlwZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNl -Tm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2RlIiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpU -eXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv -eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 -ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5v -ZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRu -czpSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9m -UmVmZXJlbmNlTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIi +bnQgbmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 +QnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRX +cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRXcml0ZXJUcmFu +c3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0 +YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc291cmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxl +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5 +cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRS +ZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFu +c3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2Vy +RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi +IHR5cGU9InRuczpCcm9rZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJy +b2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJl +Zk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAg +PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRp +b25SZWZNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25m +aWd1cmF0aW9uUmVmTWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIHR5cGU9InRuczpQdWJTdWJDb25maWd1 +cmF0aW9uUmVmTWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uUmVmTWFzayIgdHlwZT0idG5zOkxpc3RPZlB1YlN1 +YkNvbmZpZ3VyYXRpb25SZWZNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25N +YXNrIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZk1hc2siIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRJbmRleCIgdHlwZT0ieHM6dW5zaWdu +ZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVj +dGlvbkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiB0eXBl +PSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25S +ZWZEYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25SZWZEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVi +U3ViQ29uZmlndXJhdGlvblJlZkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmln +dXJhdGlvbkVsZW1lbnQiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uUmVmRGF0YVR5cGUi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcmd1bWVudCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mQXJndW1lbnQiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bVZhbHVlVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp -c3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51 -bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBl -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6 -RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIg -dHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9m -RW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWxpZEJpdHMiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJP -cHRpb25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZk9wdGlvblNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iT3B0aW9uU2V0IiB0eXBlPSJ0bnM6T3B0aW9uU2V0IiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcHRpb25T -ZXQiIHR5cGU9InRuczpMaXN0T2ZPcHRpb25TZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9ybWFsaXplZFN0cmluZyIgdHlwZT0ieHM6c3Ry -aW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRlY2ltYWxTdHJpbmciIHR5cGU9InhzOnN0 -cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvblN0cmluZyIgdHlwZT0ieHM6 -c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVTdHJpbmciIHR5cGU9InhzOnN0 -cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRlU3RyaW5nIiB0eXBlPSJ4czpzdHJp -bmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRHVyYXRpb24iIHR5cGU9InhzOmRvdWJsZSIg -Lz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVdGNUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4N -Cg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZCIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPZmZzZXQiIHR5cGU9InhzOnNob3J0IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zm -c2V0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRh -VHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpUaW1lWm9uZURh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGltZVpv -bmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmVsZW1lbnQg -bmFtZT0iSW50ZWdlcklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iQXBwbGljYXRpb25UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNsaWVudF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJDbGllbnRBbmRTZXJ2ZXJfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iRGlzY292ZXJ5U2VydmVyXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblR5cGUiIHR5 -cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFw -cGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFwcGxpY2F0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0 +PSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGlmaWVyIiB0eXBlPSJ1YTpWYXJpYW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIHR5 +cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uVmFsdWVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3Vy +YXRpb25WYWx1ZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25WYWx1ZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvblZhbHVlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRpYWdub3N0aWNzTGV2 +ZWwiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJCYXNpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJBZHZhbmNlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbmZvXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxvZ18zIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJEZWJ1Z180IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 +c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0i +dG5zOkRpYWdub3N0aWNzTGV2ZWwiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkRpYWdub3N0aWNzTGV2ZWwiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIHR5cGU9InRuczpEaWFnbm9zdGljc0xldmVsIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRpYWdub3N0aWNz +TGV2ZWwiIHR5cGU9InRuczpMaXN0T2ZEaWFnbm9zdGljc0xldmVsIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQdWJTdWJEaWFnbm9zdGlj +c0NvdW50ZXJDbGFzc2lmaWNhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 +cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluZm9ybWF0aW9uXzAiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzEiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJEaWFn +bm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgdHlwZT0idG5zOlB1YlN1YkRpYWdub3N0aWNz +Q291bnRlckNsYXNzaWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xh +c3NpZmljYXRpb24iIHR5cGU9InRuczpQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNh +dGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ +dWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgdHlwZT0idG5zOkxpc3RPZlB1 +YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2Ui +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VJZCIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hl +cklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlcyIgdHlwZT0idWE6TGlz +dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikpzb25OZXR3b3JrTWVzc2FnZSIgdHlwZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9Inhz +OnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRXcml0ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51 +bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1ldGFEYXRhVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJz +aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXlsb2FkIiB0eXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNv +bkRhdGFTZXRNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJKc29uRGF0YVNldE1ldGFEYXRhTWVzc2FnZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0 eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbk5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBcHBsaWNhdGlvblR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVy -eVVybHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25E -ZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQXBwbGljYXRp -b25EZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZBcHBs -aWNhdGlvbkRlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJSZXF1ZXN0SGVhZGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuRGlhZ25vc3Rp -Y3MiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBdWRpdEVudHJ5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVvdXRIaW50IiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkaXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXNwb25zZUhlYWRl -ciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w -IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VSZXN1bHQiIHR5cGU9InVhOlN0YXR1 -c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VE -aWFnbm9zdGljcyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmdUYWJsZSIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWRkaXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVy -c2lvblRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTZXJ2aWNlRmF1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUZhdWx0IiB0eXBlPSJ0bnM6U2Vy -dmljZUZhdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9ubGVzc0ludm9r -ZVJlcXVlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVcmlzVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlt +ZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWV0YURhdGEiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0TWV0YURhdGFNZXNz +YWdlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXRhRGF0YU1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikpzb25BcHBsaWNhdGlvbkRlc2NyaXB0aW9uTWVzc2FnZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNZXNzYWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBw +bGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9m +U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BcHBsaWNh +dGlvbkRlc2NyaXB0aW9uTWVzc2FnZSIgdHlwZT0idG5zOkpzb25BcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvblNlcnZlckVuZHBv +aW50c01lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiIHR5cGU9InRuczpT -ZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVyVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUlkIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVz -cG9uc2VUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z -OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1 -ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw -ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj -b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP -bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +bWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludHMiIHR5cGU9 +InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl -ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS -ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz -IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG -aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw -cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9u -Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZWN1cml0 -eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6 -TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTWVzc2Fn -ZVNlY3VyaXR5TW9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 -InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFub255bW91c18wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv -eHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuVHlwZSIgdHlwZT0i -dG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJUb2tl -blBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9s -aWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5 -cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlZFRva2Vu -VHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY3VyaXR5UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xp -Y3kiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl -blBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9s -aWN5IiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9u -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5n +bGVtZW50IG5hbWU9Ikpzb25TZXJ2ZXJFbmRwb2ludHNNZXNzYWdlIiB0eXBlPSJ0bnM6SnNvblNl +cnZlckVuZHBvaW50c01lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25T +dGF0dXNNZXNzYWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpk +YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNDeWNs +aWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1cyIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXh0UmVwb3J0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uU3RhdHVzTWVzc2FnZSIgdHlwZT0idG5zOkpzb25T +dGF0dXNNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJKc29uUHViU3ViQ29u +bmVjdGlvbk1lc3NhZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1lc3NhZ2VJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25u +ZWN0aW9uIiB0eXBlPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgdHlw +ZT0idG5zOkpzb25QdWJTdWJDb25uZWN0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iSnNvbkFjdGlvbk1ldGFEYXRhTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz +YWdlVHlwZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlck5hbWUiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZBY3Rp +b25UYXJnZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3QiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBl IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlw -ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpF -bmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0 -bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9j -YWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlz -dE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBv -aW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVz -cG9uc2UiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJp +ZT0iUmVzcG9uc2UiIHR5cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uTWV0aG9k +cyIgdHlwZT0idG5zOkxpc3RPZkFjdGlvbk1ldGhvZERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BY3Rpb25NZXRhRGF0YU1lc3NhZ2UiIHR5cGU9InRu +czpKc29uQWN0aW9uTWV0YURhdGFNZXNzYWdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlVHlw +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz +dGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNvbm5lY3Rpb24iIHR5cGU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkFjdGlvblJlc3BvbmRl +ck1lc3NhZ2UiIHR5cGU9InRuczpKc29uQWN0aW9uUmVzcG9uZGVyTWVzc2FnZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlvbk5ldHdvcmtNZXNzYWdlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlSWQiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1lc3NhZ2VUeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VBZGRyZXNzIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb3JyZWxhdGlvbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3Rvcklk IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lcyIgdHlwZT0idWE6TGlzdE9mTG9jYWxpemVk -VGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlclR5cGUiIHR5cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkRpc2NvdmVyeVVybHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbWFwaG9y -ZUZpbGVQYXRoIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc09ubGluZSIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3Rl -cmVkU2VydmVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVk -U2VydmVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp -c3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgdHlwZT0idG5zOkxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2Vy -dmVyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRu -czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlcyIgdHlwZT0idWE6TGlz +dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJS -ZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2Fw -YWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOk1kbnNEaXNj -b3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rl -clNlcnZlcjJSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlw -ZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ1 -YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +Ikpzb25BY3Rpb25OZXR3b3JrTWVzc2FnZSIgdHlwZT0idG5zOkpzb25BY3Rpb25OZXR3b3JrTWVz +c2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlvblJlcXVlc3RNZXNz +YWdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 +V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFjdGlvblRhcmdldElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVy +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXRhRGF0YVZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aW9uU3RhdGUiIHR5cGU9InRuczpB +Y3Rpb25TdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGF5 +bG9hZCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikpzb25BY3Rpb25SZXF1ZXN0TWVzc2FnZSIgdHlwZT0idG5zOkpzb25BY3Rp +b25SZXF1ZXN0TWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkFjdGlv +blJlc3BvbnNlTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVNldFdyaXRlcklkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3Rpb25UYXJnZXRJZCIgdHlwZT0ieHM6 +dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YVNldFdyaXRlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWV0YURhdGFWZXJzaW9uIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZl +cnNpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1pbm9yVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6 +ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 +cyIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWVzc2FnZVR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RJZCIgdHlwZT0i +eHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWN0aW9uU3RhdGUiIHR5cGU9InRuczpBY3Rpb25TdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGF5bG9hZCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25BY3Rpb25SZXNwb25z +ZU1lc3NhZ2UiIHR5cGU9InRuczpKc29uQWN0aW9uUmVzcG9uc2VNZXNzYWdlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJBbGlhc05hbWVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXNOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlZE5vZGVzIiB0eXBlPSJ1YTpMaXN0T2ZFeHBhbmRlZE5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbGlhc05hbWVEYXRhVHlwZSIgdHlw +ZT0idG5zOkFsaWFzTmFtZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZBbGlhc05hbWVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUiIHR5cGU9InRuczpBbGlhc05hbWVEYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyMlJl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlw +bmFtZT0iTGlzdE9mQWxpYXNOYW1lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBbGlhc05hbWVE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlw +ZSAgbmFtZT0iUGFzc3dvcmRPcHRpb25zTWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 +InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhc3N3b3JkT3B0aW9uc01hc2siIHR5cGU9InRuczpQ +YXNzd29yZE9wdGlvbnNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQ +YXNzd29yZE9wdGlvbnNNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQYXNzd29yZE9wdGlvbnNNYXNrIiB0eXBlPSJ0bnM6UGFzc3dvcmRPcHRpb25zTWFz +ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQYXNz +d29yZE9wdGlvbnNNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mUGFzc3dvcmRPcHRpb25zTWFzayIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNl +ckNvbmZpZ3VyYXRpb25NYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWdu +ZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckNvbmZpZ3VyYXRpb25NYXNrIiB0eXBlPSJ0bnM6VXNlckNvbmZp +Z3VyYXRpb25NYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVc2VyQ29u +ZmlndXJhdGlvbk1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJDb25maWd1cmF0aW9uTWFzayIgdHlwZT0idG5zOlVzZXJDb25maWd1cmF0aW9uTWFz +ayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2Vy +Q29uZmlndXJhdGlvbk1hc2siIHR5cGU9InRuczpMaXN0T2ZVc2VyQ29uZmlndXJhdGlvbk1hc2si +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQ29uZmlndXJhdGlv +biIgdHlwZT0idG5zOlVzZXJDb25maWd1cmF0aW9uTWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTWFuYWdlbWVudERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VXNlck1hbmFnZW1lbnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mVXNlck1hbmFnZW1lbnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck1hbmFnZW1lbnREYXRhVHlwZSIgdHlwZT0idG5z +OlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJNYW5hZ2VtZW50RGF0YVR5cGUi +IHR5cGU9InRuczpMaXN0T2ZVc2VyTWFuYWdlbWVudERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkVuY29kZWRUaWNrZXQiIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRHVwbGV4Ij4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iRnVsbF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIYWxmXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fMiIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkR1cGxl +eCIgdHlwZT0idG5zOkR1cGxleCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RHVwbGV4Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEdXBs +ZXgiIHR5cGU9InRuczpEdXBsZXgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mRHVwbGV4IiB0eXBlPSJ0bnM6TGlzdE9mRHVwbGV4IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJbnRlcmZhY2VB +ZG1pblN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRvd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGVzdGluZ18y +IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSW50ZXJmYWNlQWRtaW5TdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VBZG1p +blN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSW50ZXJmYWNlQWRt +aW5TdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu +dGVyZmFjZUFkbWluU3RhdHVzIiB0eXBlPSJ0bnM6SW50ZXJmYWNlQWRtaW5TdGF0dXMiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50ZXJmYWNlQWRt +aW5TdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZJbnRlcmZhY2VBZG1pblN0YXR1cyIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSW50ZXJmYWNl +T3BlclN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRvd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGVzdGluZ18y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzMiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRvcm1hbnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iTm90UHJlc2VudF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJM +b3dlckxheWVyRG93bl82IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5z +OkludGVyZmFjZU9wZXJTdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkludGVyZmFjZU9wZXJTdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkludGVyZmFjZU9wZXJTdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VPcGVyU3Rh +dHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZklu +dGVyZmFjZU9wZXJTdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZJbnRlcmZhY2VPcGVyU3RhdHVzIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJO +ZWdvdGlhdGlvblN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluUHJvZ3Jlc3NfMCIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tcGxldGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iRmFpbGVkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25v +d25fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9OZWdvdGlhdGlvbl80IiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiIHR5cGU9InRuczpOZWdvdGlhdGlvblN0YXR1cyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmVnb3RpYXRpb25TdGF0dXMiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5lZ290aWF0aW9uU3Rh +dHVzIiB0eXBlPSJ0bnM6TmVnb3RpYXRpb25TdGF0dXMiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmVnb3RpYXRpb25TdGF0dXMiIHR5cGU9InRuczpM +aXN0T2ZOZWdvdGlhdGlvblN0YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVHNuRmFpbHVyZUNvZGUiPg0KICAgIDx4czpyZXN0cmlj +dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0Zh +aWx1cmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zdWZmaWNpZW50QmFu +ZHdpZHRoXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc3VmZmljaWVudFJl +c291cmNlc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnN1ZmZpY2llbnRU +cmFmZmljQ2xhc3NCYW5kd2lkdGhfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RyZWFtSWRJblVzZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1E +ZXN0aW5hdGlvbkFkZHJlc3NJblVzZV81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTdHJlYW1QcmVlbXB0ZWRCeUhpZ2hlclJhbmtfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iTGF0ZW5jeUhhc0NoYW5nZWRfNyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iRWdyZXNzUG9ydE5vdEF2YkNhcGFibGVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXNlRGlmZmVyZW50RGVzdGluYXRpb25BZGRyZXNzXzkiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ik91dE9mTXNycFJlc291cmNlc18xMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iT3V0T2ZNbXJwUmVzb3VyY2VzXzExIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJDYW5ub3RTdG9yZURlc3RpbmF0aW9uQWRkcmVzc18xMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUHJpb3JpdHlJc05vdEFuU3JjQ2xhc3NfMTMiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heEZyYW1lU2l6ZVRvb0xhcmdlXzE0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNYXhGYW5JblBvcnRzTGltaXRSZWFjaGVk +XzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaXJzdFZhbHVlQ2hhbmdlZEZv +clN0cmVhbUlkXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWbGFuQmxvY2tl +ZE9uRWdyZXNzXzE3IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWbGFuVGFnZ2lu +Z0Rpc2FibGVkT25FZ3Jlc3NfMTgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNy +Q2xhc3NQcmlvcml0eU1pc21hdGNoXzE5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJGZWF0dXJlTm90UHJvcGFnYXRlZF8yMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTWF4TGF0ZW5jeUV4Y2VlZGVkXzIxIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJCcmlkZ2VEb2VzTm90UHJvdmlkZU5ldHdvcmtJZF8yMiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iU3RyZWFtVHJhbnNmb3JtTm90U3VwcG9ydGVkXzIzIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1JZFR5cGVOb3RTdXBwb3J0ZWRfMjQiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZlYXR1cmVOb3RTdXBwb3J0ZWRfMjUiIC8+DQogICAg +PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOlRzbkZhaWx1cmVDb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25GYWlsdXJlQ29kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuRmFpbHVyZUNvZGUiIHR5cGU9InRuczpUc25G +YWlsdXJlQ29kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZUc25GYWlsdXJlQ29kZSIgdHlwZT0idG5zOkxpc3RPZlRzbkZhaWx1cmVDb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25T +dHJlYW1TdGF0ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkNvbmZpZ3VyaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlJlYWR5XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9wZXJhdGlvbmFs +XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVycm9yXzQiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJU +c25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOlRzblN0cmVhbVN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25TdHJlYW1TdGF0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuU3RyZWFtU3RhdGUiIHR5cGU9InRuczpUc25TdHJl +YW1TdGF0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZUc25TdHJlYW1TdGF0ZSIgdHlwZT0idG5zOkxpc3RPZlRzblN0cmVhbVN0YXRlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25UYWxr +ZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlJlYWR5XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8y +IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHNuVGFsa2VyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuVGFsa2VyU3RhdHVzIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUc25UYWxrZXJTdGF0dXMiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRzblRhbGtlclN0YXR1cyIg +dHlwZT0idG5zOlRzblRhbGtlclN0YXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpMaXN0T2ZUc25U +YWxrZXJTdGF0dXMiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9IlRzbkxpc3RlbmVyU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWFkeV8xIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJQYXJ0aWFsRmFpbGVkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkZhaWxlZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiIHR5cGU9InRuczpU +c25MaXN0ZW5lclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHNu +TGlzdGVuZXJTdGF0dXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlRzbkxpc3RlbmVyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuTGlzdGVuZXJTdGF0dXMiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHNuTGlzdGVuZXJT +dGF0dXMiIHR5cGU9InRuczpMaXN0T2ZUc25MaXN0ZW5lclN0YXR1cyIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQ2hhc3Npc0lkU3VidHlw ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpT -ZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNo -YW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBl -PSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +bWVyYXRpb24gdmFsdWU9IkNoYXNzaXNDb21wb25lbnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iSW50ZXJmYWNlQWxpYXNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iUG9ydENvbXBvbmVudF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJN +YWNBZGRyZXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5ldHdvcmtBZGRy +ZXNzXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVyZmFjZU5hbWVfNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9jYWxfNyIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYXNz +aXNJZFN1YnR5cGUiIHR5cGU9InRuczpDaGFzc2lzSWRTdWJ0eXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFzc2lzSWRTdWJ0eXBlIiB0eXBlPSJ0bnM6Q2hh +c3Npc0lkU3VidHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZDaGFzc2lzSWRTdWJ0eXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ2hhc3Npc0lkU3VidHlw +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt +ZT0iUG9ydElkU3VidHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludGVyZmFjZUFsaWFzXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBvcnRDb21wb25lbnRfMiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTWFjQWRkcmVzc18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJOZXR3b3JrQWRkcmVzc180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnRlcmZhY2VOYW1lXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFnZW50 +Q2lyY3VpdElkXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxvY2FsXzciIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJQb3J0SWRTdWJ0eXBlIiB0eXBlPSJ0bnM6UG9ydElkU3VidHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUG9ydElkU3VidHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9ydElkU3VidHlwZSIgdHlwZT0idG5zOlBv +cnRJZFN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mUG9ydElkU3VidHlwZSIgdHlwZT0idG5zOkxpc3RPZlBvcnRJZFN1YnR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1hbkFk +ZHJJZlN1YnR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVua25vd25fMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUG9y +dFJlZl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeXN0ZW1Qb3J0TnVtYmVy +XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYW5BZGRySWZTdWJ0eXBlIiB0eXBlPSJ0bnM6TWFuQWRkcklmU3VidHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTWFuQWRkcklmU3VidHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFuQWRkcklmU3Vi +dHlwZSIgdHlwZT0idG5zOk1hbkFkZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTWFuQWRkcklmU3VidHlwZSIgdHlwZT0idG5zOkxp +c3RPZk1hbkFkZHJJZlN1YnR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFwcGluZ1VyaSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUHJpb3JpdHlMYWJlbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHlWYWx1ZV9Q +Q1AiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHJpb3JpdHlWYWx1ZV9EU0NQIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgdHlwZT0idG5zOlBy +aW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUHJpb3JpdHlNYXBwaW5nRW50cnlUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eU1hcHBpbmdFbnRyeVR5cGUiIHR5cGU9InRuczpQcmlv +cml0eU1hcHBpbmdFbnRyeVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIg +dHlwZT0idG5zOkxpc3RPZlByaW9yaXR5TWFwcGluZ0VudHJ5VHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGxkcE1hbmFnZW1lbnRB +ZGRyZXNzVHhQb3J0VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkcmVzc1N1YnR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYW5BZGRyZXNzIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJUeEVuYWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWRkckxlbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklmU3VidHlwZSIgdHlwZT0idG5zOk1hbkFk +ZHJJZlN1YnR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklm +SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcE1hbmFn +ZW1lbnRBZGRyZXNzVHhQb3J0VHlwZSIgdHlwZT0idG5zOkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4 +UG9ydFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBNYW5hZ2Vt +ZW50QWRkcmVzc1R4UG9ydFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R4UG9ydFR5cGUiIHR5cGU9InRuczpMbGRw +TWFuYWdlbWVudEFkZHJlc3NUeFBvcnRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJl +c3NUeFBvcnRUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHhQb3J0 +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkcmVzc1N1YnR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJJZlN1YnR5cGUiIHR5cGU9InRuczpNYW5BZGRySWZTdWJ0eXBlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZklkIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5cGUi +IHR5cGU9InRuczpMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwTWFuYWdlbWVudEFkZHJlc3NUeXBl +IiB0eXBlPSJ0bnM6TGxkcE1hbmFnZW1lbnRBZGRyZXNzVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTGxkcE1hbmFn +ZW1lbnRBZGRyZXNzVHlwZSIgdHlwZT0idG5zOkxpc3RPZkxsZHBNYW5hZ2VtZW50QWRkcmVzc1R5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkxsZHBUbHZUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUbHZUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGx2SW5mbyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxsZHBUbHZUeXBlIiB0eXBlPSJ0bnM6 +TGxkcFRsdlR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBUbHZU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMbGRwVGx2 +VHlwZSIgdHlwZT0idG5zOkxsZHBUbHZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMbGRwVGx2VHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkxsZHBUbHZUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpzaW1wbGVUeXBlICBuYW1lPSJMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIj4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGxkcFN5c3RlbUNh +cGFiaWxpdGllc01hcCIgdHlwZT0idG5zOkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkxsZHBTeXN0ZW1DYXBhYmlsaXRpZXNNYXAi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxsZHBTeXN0ZW1D +YXBhYmlsaXRpZXNNYXAiIHR5cGU9InRuczpMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFwIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxsZHBTeXN0ZW1D +YXBhYmlsaXRpZXNNYXAiIHR5cGU9InRuczpMaXN0T2ZMbGRwU3lzdGVtQ2FwYWJpbGl0aWVzTWFw +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu +Y2VUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGUiIHR5cGU9 +InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlw +dGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWZlcmVu +Y2VEZXNjcmlwdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVmZXJl +bmNlRGVzY3JpcHRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb25EYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVy +ZW5jZUxpc3RFbnRyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRhcmdldE5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 +UmVmZXJlbmNlTGlzdEVudHJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VMaXN0RW50cnlEYXRhVHlwZSIgdHlwZT0i +dG5zOlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VMaXN0RW50 +cnlEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZUxpc3RFbnRyeURhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +b2dSZWNvcmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXZlcml0eSIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT +b3VyY2VOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VDb250ZXh0IiB0eXBlPSJ0 +bnM6VHJhY2VDb250ZXh0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsRGF0YSIgdHlwZT0idG5zOkxpc3RP +Zk5hbWVWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTG9n +UmVjb3JkIiB0eXBlPSJ0bnM6TG9nUmVjb3JkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZMb2dSZWNvcmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkxvZ1JlY29yZCIgdHlwZT0idG5zOkxvZ1JlY29yZCIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTG9nUmVjb3Jk +IiB0eXBlPSJ0bnM6TGlzdE9mTG9nUmVjb3JkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMb2dSZWNvcmRzRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvZ1JlY29yZEFycmF5IiB0eXBl +PSJ0bnM6TGlzdE9mTG9nUmVjb3JkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4i -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlNb2RlIiB0eXBlPSJ0 -bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExp -ZmV0aW1lIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wZW5T -ZWN1cmVDaGFubmVsUmVxdWVzdCIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlw +bWU9IkxvZ1JlY29yZHNEYXRhVHlwZSIgdHlwZT0idG5zOkxvZ1JlY29yZHNEYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9nUmVjb3Jkc0RhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2dSZWNvcmRzRGF0YVR5 +cGUiIHR5cGU9InRuczpMb2dSZWNvcmRzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvZ1JlY29yZHNEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZkxvZ1JlY29yZHNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3BhbkNvbnRleHREYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VJ +ZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3BhbklkIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +cGFuQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6U3BhbkNvbnRleHREYXRhVHlwZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3BhbkNvbnRleHREYXRhVHlwZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BhbkNvbnRleHREYXRhVHlw +ZSIgdHlwZT0idG5zOlNwYW5Db250ZXh0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz +PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNwYW5Db250ZXh0RGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTcGFuQ29udGV4dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFjZUNvbnRleHRE +YXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpTcGFuQ29udGV4dERhdGFUeXBlIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmVudFNwYW5JZCIgdHlw +ZT0ieHM6dW5zaWduZWRMb25nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUGFyZW50SWRlbnRpZmllciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhY2VDb250ZXh0RGF0YVR5cGUiIHR5cGU9InRuczpUcmFj +ZUNvbnRleHREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJh +Y2VDb250ZXh0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRyYWNlQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6VHJhY2VDb250ZXh0RGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlRyYWNlQ29udGV4dERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVHJhY2VD +b250ZXh0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik5hbWVWYWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1 +YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZVZhbHVlUGFpciIgdHlwZT0idG5z +Ok5hbWVWYWx1ZVBhaXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5hbWVW +YWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5h +bWVWYWx1ZVBhaXIiIHR5cGU9InRuczpOYW1lVmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOYW1lVmFsdWVQ +YWlyIiB0eXBlPSJ0bnM6TGlzdE9mTmFtZVZhbHVlUGFpciIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTG9nUmVjb3JkTWFzayI+DQogICAg +PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxvZ1JlY29yZE1h +c2siIHR5cGU9InRuczpMb2dSZWNvcmRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZMb2dSZWNvcmRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJMb2dSZWNvcmRNYXNrIiB0eXBlPSJ0bnM6TG9nUmVjb3JkTWFzayIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2dSZWNvcmRNYXNr +IiB0eXBlPSJ0bnM6TGlzdE9mTG9nUmVjb3JkTWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSWRUeXBlIj4NCiAgICA8eHM6cmVzdHJp +Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTnVt +ZXJpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJpbmdfMSIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3VpZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJPcGFxdWVfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp +bXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5cGU9InRuczpJZFR5cGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSWRUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mSWRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQ2xhc3MiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbnNwZWNp +ZmllZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RfMSIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik9iamVjdFR5cGVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVU +eXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlXzMy +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV82NCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMjgiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcm1pc3Np +b25UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpQZXJtaXNzaW9uVHlwZSIgLz4NCg0KICA8eHM6 +c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g +YmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp +bXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0idG5z +OkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2 +ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkQnl0ZSI+DQogICAgPC94czpyZXN0cmljdGlvbj4N +CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyVHlw +ZSIgdHlwZT0idG5zOkV2ZW50Tm90aWZpZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJSb2xlUGVybWlzc2lvblR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJvbGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVybWlzc2lvbnMiIHR5cGU9 +InRuczpQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9u +VHlwZSIgdHlwZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpSb2xl +UGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOkxp +c3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0 +aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlZmluaXRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5 +cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVEZWZpbml0aW9uIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTdHJ1Y3R1 +cmVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkc18xIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJVbmlvbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTdHJ1Y3R1cmVXaXRoU3VidHlwZWRWYWx1ZXNfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVW5pb25XaXRoU3VidHlwZWRWYWx1ZXNfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5 +cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJTdHJ1Y3R1cmVGaWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2Fs +aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4 +czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGlt +ZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +SXNPcHRpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVj +dHVyZUZpZWxkIiB0eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZp +ZWxkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZp +ZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv +biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWZhdWx0RW5jb2RpbmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlw +ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0 +eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlv +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVj +dHVyZURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVt +RGVmaW5pdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0 +bnM6TGlzdE9mRW51bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51 +bURlZmluaXRpb24iIHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmlu +aXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmlu +aXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ik5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNz +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0 +eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRl +eHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1 -cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vj -dXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5 -cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3Vy -ZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURh -dGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJl -Q2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2Fy -ZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +bWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0 +T2ZSb2xlUGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiB0eXBlPSJ0bnM6TGlz +dE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiB0eXBlPSJ4czp1bnNp +Z25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VzIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0 -YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB -cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw -b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9Inhz -OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVz -cG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlm -aWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5z -Okxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIg -dHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1 -cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNw -b25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpV -c2VySWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3Vz -SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog -ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9ueW1v -dXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFtZUlk -ZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -Y3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRl -bnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9r -ZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRl -bnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVzZXJJZGVu -dGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRva2VuIiAv -Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlJzYUVuY3J5cHRlZFNlY3JldCIgdHlwZT0idWE6VmFy -aWFudCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFY2NFbmNyeXB0ZWRTZWNyZXQiIHR5cGU9 -InVhOlZhcmlhbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lv -blJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 -eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl -PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg -dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9 -InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjdGl2 -YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9 -InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIHR5cGU9InRuczpD -bG9zZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNl -c3Npb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5z -OkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5j -ZWxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5kbGUiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVxdWVzdCIg -dHlwZT0idG5zOkNhbmNlbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNh -bmNlbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9u -c2UiIHR5cGU9InRuczpDYW5jZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt -ZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry -aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb250 -YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVf -MTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0aW9uXzMyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IklzQWJz -dHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWluaW11bVNhbXBs -aW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs -YXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVJZF8xNjM4NCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMyNzY4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1MzYiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3MiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2Jq -ZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBl -XzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV8yNjU3 -MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVUeXBlXzI4NjAw -NDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfMjY2MzI1NDgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMjY1MzcwNjAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -b2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlz -cGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0 -QXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpPYmplY3RBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9 -InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1l -bnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9Inhz -OnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZUF0dHJpYnV0ZXMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4 +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGUiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJJbnN0YW5jZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikluc3RhbmNlTm9kZSIgdHlwZT0idG5zOkluc3RhbmNlTm9kZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4 Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP -YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi -bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0 -bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0K +ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlR5cGVOb2RlIiB0eXBlPSJ0bnM6VHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdE5vZGUiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5vZGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJz +dHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpz +ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2Rl +IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZhcmlhYmxlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh +VHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25z +IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9 +InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlTm9kZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJs +ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0K ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0 cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl bGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv @@ -158100,2013 +165387,2742 @@ Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2Nh bGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlw -ZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxl -eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZW5lcmljQXR0 -cmlidXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmli -dXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkdlbmVyaWNBdHRy -aWJ1dGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZHZW5lcmljQXR0 -cmlidXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZVZhbHVlcyIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiB0eXBl -PSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFk -ZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p -dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFk -ZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +ZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXRob2ROb2RlIiB0eXBlPSJ0bnM6TWV0aG9kTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVmlld05vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRhaW5zTm9Mb29w +cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld05vZGUiIHR5cGU9InRuczpWaWV3Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRGF0YVR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlTm9kZSIgdHlwZT0idG5zOkRh +dGFUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlTm9kZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpF +eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJB +cmd1bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFu +ayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVu +dCIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRmllbGQiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6RW51bVZhbHVlVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRmllbGQiIHR5cGU9InRuczpFbnVtRmllbGQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1GaWVsZCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZp +ZWxkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiIHR5cGU9InRuczpMaXN0T2ZFbnVtRmllbGQiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9wdGlv +blNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i +dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u +U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T +ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp +c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91YmxlIiAvPg0KDQogIDx4czplbGVt +ZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czplbGVtZW50 +IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6 +VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVGlt +ZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlZ2VySWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBcHBs +aWNhdGlvblR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTZXJ2ZXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQ2xpZW50XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNs +aWVudEFuZFNlcnZlcl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNjb3Zl +cnlTZXJ2ZXJfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0 +aW9uVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj +YXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFwcGxpY2F0aW9uTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlw +ZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 +TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFwcGxp +Y2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkRl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQXBw +bGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRp +b24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlJlcXVlc3RIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1ZGl0 +RW50cnlJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZW91dEhpbnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFs +SGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9k -ZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWROb2RlSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIg -dHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +OmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlc3BvbnNlSGVhZGVyIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVU +aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFu +ZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZURpYWdub3N0aWNzIiB0eXBl +PSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWZXJzaW9uVGltZSIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VGYXVs +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNlRmF1bHQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVyaXNWZXJzaW9uIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpcyIg +dHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tl +UmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52 +b2tlUmVzcG9uc2VUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIHR5cGU9 +InRuczpTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RP +ZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpG +aW5kU2VydmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2 +ZXJzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJzIiB0eXBl +PSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyT25OZXR3b3Jr +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNvcmRJZCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeVVybCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBl +PSJ0bnM6U2VydmVyT25OZXR3b3JrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgbWluT2Nj dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9k -ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9 -InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +dE9mU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5k +U2VydmVyc09uTmV0d29ya1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRpbmdSZWNvcmRJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNh +cGFiaWxpdHlGaWx0ZXIiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIHR5cGU9InRu +czpGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0 +T2ZTZXJ2ZXJPbk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +RmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3 +b3JrUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25JbnN0YW5j +ZUNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOnNpbXBsZVR5 +cGUgIG5hbWU9Ik1lc3NhZ2VTZWN1cml0eU1vZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl +PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iU2lnbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +aWduQW5kRW5jcnlwdF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSIgdHlwZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1lc3NhZ2VTZWN1cml0eU1vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1l +c3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpMaXN0T2ZNZXNzYWdlU2VjdXJpdHlNb2RlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJV +c2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5vbnltb3VzXzAiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlVzZXJOYW1lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkNlcnRpZmljYXRlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3Vl +ZFRva2VuXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlclRva2VuUG9saWN5Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2Vy +dGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5z +Ok1lc3NhZ2VTZWN1cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlU +b2tlbnMiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxl +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5 +dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6 +RW5kcG9pbnREZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu +dERlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVh +Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlw +ZT0idG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkdldEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k +cG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgdHlwZT0idG5z +OkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp +c3RlcmVkU2VydmVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlw +ZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +bmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5 +cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBl +PSJ0bnM6TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 +eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2 +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJS +ZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVy +U2VydmVyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlclJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1Nl +cnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9 +InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNE +aXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJl +ZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lv +bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNl +cnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIy +UmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6 +c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +SXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4NCiAg +ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1 +ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9r +ZW4iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxJ +ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRva2VuSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVkQXQiIHR5cGU9InhzOmRhdGVUaW1lIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbFNlY3Vy +aXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 -QWRkTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJl -bmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNv -dXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIg -dHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJ -dGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFk -ZFJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +OmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tl +biIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9Inhz +OmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVu +U2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNl +IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFz +ZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlw +ZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5 +cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTaWduYXR1cmVEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIg +dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2Vz -SXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2Vz -UmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRS -ZWZlcmVuY2VzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5v -ZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6 -RGVsZXRlTm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxl -dGVOb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVs -ZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rl -c1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlw -ZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +bWVudCBuYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3Jp +cHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5 +cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRC +aW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXpl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Np +b25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25U +b2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6 +YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRE +ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9m +U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNp +Z25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6 +Q3JlYXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0K +bWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2Vu +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOkFub255bW91c0lkZW50aXR5VG9rZW4i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRo +bSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +ck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBl +PSJ0bnM6WDUwOUlkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklz +c3VlZElkZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5EYXRh +IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRobSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkSWRlbnRp +dHlUb2tlbiIgdHlwZT0idG5zOklzc3VlZElkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUnNhRW5jcnlwdGVkU2VjcmV0IiB0eXBlPSJ1YTpWYXJpYW50IiAvPg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkVjY0VuY3J5cHRlZFNlY3JldCIgdHlwZT0idWE6VmFyaWFudCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1 +cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5cGU9InRuczpMaXN0T2ZTaWdu +ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2Vu +U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0bnM6QWN0aXZh +dGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVT +ZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25j +ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz +Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9u +c2UiIHR5cGU9InRuczpBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2Vs +UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0K ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZVJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1JlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5j -ZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6cmVzdHJp -Y3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv -eHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0 -eXBlPSJ0bnM6QXR0cmlidXRlV3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l -PSJCcm93c2VEaXJlY3Rpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGb3J3YXJkXzAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkludmVyc2VfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQm90aF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzMi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24iIHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpOb2RlSWQi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxDb3VudCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXNwb25zZSIgdHlwZT0idG5zOkNh +bmNlbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQXR0cmlidXRl +c01hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5 +RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1l +XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6 +aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAy +NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +V3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVl +XzIwOTcxNTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlRGVmaW5p +dGlvbl80MTk0MzA0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSb2xlUGVybWlz +c2lvbnNfODM4ODYwOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzUmVz +dHJpY3Rpb25zXzE2Nzc3MjE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxf +MzM1NTQ0MzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzI2NTAx +MjIwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RfMjY1MDEzNDgiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdFR5cGVfMjY1MDMyNjgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzI2NTcxMzgzIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMjg2MDA0MzgiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF8yNjYzMjU0OCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZV8yNjUzNzA2MCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVmlld18yNjUwMTM1NiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFz +ayIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTm9kZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0i +dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +V3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl +cyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh +Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp +bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl +cyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQog +ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRh +YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdFR5cGVBdHRyaWJ1 +dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9 +InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6 +TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVB +dHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3lt +bWV0cmljIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlw +ZT0idG5zOlJlZmVyZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0 +cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1 +dGVzIiB0eXBlPSJ0bnM6RGF0YVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJWaWV3QXR0cmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQog +ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWlu +c05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0ZXMi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRl +VmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVyaWNB +dHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2Vu +ZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFsdWVz +IiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmljQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVzY3JpcHRp -b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVh -Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0 -eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzc01hc2siIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlw -ZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIgdHlw -ZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVh +PSJSZXF1ZXN0ZWROZXdOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmFt +ZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFz +cyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpF +eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRO +b2Rlc0l0ZW0iIHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVz +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 +dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9k +ZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rl +c1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3Vs +dCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZE5v +ZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jl +cXVlc3QiIHR5cGU9InRuczpBZGROb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2Fy +ZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs +YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpB +ZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRk +UmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVy +ZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFk +ZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Vs +dHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVt +IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5 +cGU9InRuczpMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZU5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxl +dGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVh Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0i -dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9 -InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5j +ZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVu +Y2VzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2Vz +SXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0 +ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNl +c1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBl +PSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu +YW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1 +bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1 +dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlv +biI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWaWV3SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZpZXdWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgdHlwZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVu -Y2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVh -dGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQi -IHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93 -c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlv -biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dzZSIg -dHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu -czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi +IlZpZXdEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +RGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRp +b24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJv +d3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTm9kZUNsYXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkJyb3dzZU5hbWVfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxh +eU5hbWVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9u +XzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlRhcmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRN +YXNrIiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3 +YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlw +ZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND +b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dz +ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1 +bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0i +dG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4 +UmVmZXJlbmNlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QnJvd3NlUmVxdWVzdCIgdHlwZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9 +InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu +dWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3Nl +TmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNw +b25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpM +aXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5l +eHRSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 -QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1 -ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Q -b2ludHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIg -dHlwZT0idG5zOkJyb3dzZU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJCcm93c2VOZXh0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2Ui -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdl -dE5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +PSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6 +UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxh +dGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIg +dHlwZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1l +bnQiIHR5cGU9InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBl +PSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0aW5nTm9kZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJv +d3NlUGF0aCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aEVs -ZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVs -ZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZS -ZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -UmVsYXRpdmVQYXRoIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVs -YXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5 +ZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbWFpbmluZ1BhdGhJ +bmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQ +YXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dz +ZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpMaXN0T2ZC +cm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0eXBlPSJ0 +bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k +ZUlkc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRo +UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo +c1RvTm9kZUlkc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJ +ZHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiB0eXBl +PSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RP +Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v +ZGVzUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9u +c2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rl +ck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBl +PSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJp +bmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhB +cnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhCdWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIg +dHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9u +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENv +bmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +ZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlv +biIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJp +YnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6 +UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2Ny +aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9 +InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNj +cmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +Zk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9u +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l +PSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1Ro +YW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFs +XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC +ZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0 +XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNl +T3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9y +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5k +ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpR +dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5 +RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5 cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWlu +czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl +UmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2Ui +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD +b250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9 +InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVt +ZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVu +dEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu +dCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6 -QnJvd3NlUGF0aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0 -aCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0 -aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpM -aXN0T2ZCcm93c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZW1haW5pbmdQYXRoSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0 +bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u +dGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Q29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRG +aWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJh +bmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 +ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFs +T3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlk +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93 +c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli +dXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVB +dHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0 +bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1 +bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50 +UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxl +bWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlw +ZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQi -IHR5cGU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dz -ZVBhdGhSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBh -dGhSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJy -b3dzZVBhdGhSZXN1bHQiIHR5cGU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93 -c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNsYXRl -QnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +bnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1 +bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVh +OlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh +dGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGlj +SW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0 +eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5z +Okxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMi +IHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6 +Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2Vz +VG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVl +cnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVl -c3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0idG5zOlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVz -VG9SZWdpc3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJO -b2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNS +IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0 +cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVu +dEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVy +eUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIg +dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFT +ZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlw +ZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJU +aW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpy +ZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +c3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0 +dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1 +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0 +eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRS ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRz -IiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1 -YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5y -ZWdpc3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg -dHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVz -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ291bnRlciIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJpY1JhbmdlIiB0eXBlPSJ4 -czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 -aW9uVGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4 -czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVT -dHJpbmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIg -dHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -aGFubmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBv -aW50Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0 -aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRw -b2ludENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxh -dGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlw -dGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRu -czpRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRp -b25Ob2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0 -YVRvUmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0i -dG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2Ny -aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9k -ZVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -c2ltcGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikdy -ZWF0ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNz -VGhhbk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJJbkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5W -aWV3XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 -c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRu -czpGaWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRh -U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQi -IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpF -eHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVy -eURhdGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNl -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRh -U2V0IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWRO -b2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRu -czpOb2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9m -Tm9kZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVy -T3BlcmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl -ck9wZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -Q29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVs -ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29u -dGVudEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZp -bHRlckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVu -dEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmls -dGVyT3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9 -InRuczpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50 -T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50 -T3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpG -aWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3Bv +bnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0 -cmlidXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmli -dXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9w -ZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRl -T3BlcmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRG -aWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxp -c3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 -ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxl -bWVudFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVu -dFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0 +aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFs +dWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y +eVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0 +b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3Rv +cnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhp +c3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0 +b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRE +ZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1l +IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRFdmVudERldGFpbHMyIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlJlYWRFdmVudERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkRXZlbnREZXRhaWxzMiIgdHlwZT0idG5zOlJlYWRFdmVu +dERldGFpbHMyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTb3J0T3JkZXJUeXBlIj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQXNjZW5kaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRlc2NlbmRpbmdfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNvcnRPcmRlclR5cGUiIHR5cGU9InRuczpTb3J0T3Jk +ZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTb3J0UnVsZUVsZW1lbnQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvcnRPcmRlciIgdHlw +ZT0idG5zOlNvcnRPcmRlclR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkV2ZW50RmllbGQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNvcnRSdWxlRWxlbWVudCIgdHlwZT0i +dG5zOlNvcnRSdWxlRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +U29ydFJ1bGVFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTb3J0UnVsZUVsZW1lbnQiIHR5cGU9InRuczpTb3J0UnVsZUVsZW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZlNvcnRSdWxlRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlNvcnRSdWxlRWxlbWVudCIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2 +ZW50RGV0YWlsc1NvcnRlZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvcnRDbGF1c2Ui +IHR5cGU9InRuczpMaXN0T2ZTb3J0UnVsZUVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJSZWFkRXZlbnREZXRhaWxzU29ydGVkIiB0eXBlPSJ0bnM6UmVhZEV2ZW50RGV0 +YWlsc1NvcnRlZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJhd01vZGlmaWVk +RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNSZWFkTW9kaWZpZWQiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJldHVybkJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRSYXdNb2RpZmllZERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxz +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGlt +ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9 +InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 +QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlYWRQcm9jZXNzZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFByb2Nlc3NlZERldGFpbHMiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVXNlU2ltcGxlQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOlJlYWRBdFRpbWVEZXRhaWxzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxz +IiB0eXBlPSJ0bnM6UmVhZEFubm90YXRpb25EYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhp +c3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZv +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRp +b25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlv +bkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRpb25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0 +aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlm +aWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURh +dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg +ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0i +dG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3Rv +cnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeU1vZGlmaWVkRXZl +bnQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeUV2ZW50Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6 +TGlzdE9mTW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlNb2RpZmllZEV2ZW50IiB0eXBlPSJ0bnM6SGlzdG9yeU1vZGlmaWVkRXZlbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp +bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVh +ZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJl +YWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6 +SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVW +YWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlk +IiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpX +cml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1 +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0 +ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpM -aXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMi -IHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFn +ZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9u +c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InRuczpI +aXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSGlzdG9y +eVVwZGF0ZVR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iUmVwbGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJV +cGRhdGVfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVsZXRlXzQiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJSZW1vdmVfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 +L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIiB0 +eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVwZGF0ZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6 +UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiB0eXBlPSJ0bnM6VXBk +YXRlRGF0YURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVwZGF0ZVN0cnVj +dHVyZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVy +Zm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiB0eXBlPSJ0 +bnM6VXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlVwZGF0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnREYXRh +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6VXBkYXRlRXZl +bnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSYXdNb2RpZmll +ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1 +YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSXNEZWxldGVNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmF3 +TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRp +bWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIHR5cGU9InRuczpEZWxldGVBdFRpbWVEZXRhaWxz +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXZlbnRJZHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiIHR5cGU9InRuczpEZWxldGVFdmVudERl +dGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpD -b250ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5n -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 -dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0 -bnM6UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFy -c2luZ1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdS -ZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0 -aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZp -bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0 -T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 -eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0 -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2Ui -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6 -TGlzdE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi -YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlO -ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80 -IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2Rl -SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh -dGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpS -ZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFs -dWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRu -czpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4 -UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVk -TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0 -bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpI +aXN0b3J5VXBkYXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI +aXN0b3J5VXBkYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3Vs +dCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJl -YWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5 -cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl +bmFtZT0iTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlV +cGRhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1 -bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl -YWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlz -dG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9 -InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFk -RXZlbnREZXRhaWxzMiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog -ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpSZWFkRXZlbnREZXRhaWxzIj4NCiAgICAgICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRNb2RpZmllZCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlsczIiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzMiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i -U29ydE9yZGVyVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ18wIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEZXNjZW5kaW5nXzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N -CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb3J0T3JkZXJUeXBlIiB0 -eXBlPSJ0bnM6U29ydE9yZGVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU29y -dFJ1bGVFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTb3J0T3JkZXIiIHR5cGU9InRuczpTb3J0T3JkZXJUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmli -dXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb3J0UnVs -ZUVsZW1lbnQiIHR5cGU9InRuczpTb3J0UnVsZUVsZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNvcnRSdWxlRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU29ydFJ1bGVFbGVtZW50IiB0eXBlPSJ0bnM6U29ydFJ1bGVF -bGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJl +cXVlc3QiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgdHlwZT0i +dG5zOkhpc3RvcnlVcGRhdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +Q2FsbE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik9iamVjdElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5wdXRBcmd1bWVudHMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpD +YWxsTWV0aG9kUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ2Fs +bE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3Qi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiB0eXBlPSJ1YTpM +aXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdXRwdXRBcmd1bWVudHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJl +c3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9k +UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTb3J0UnVsZUVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZTb3J0UnVs -ZUVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlJlYWRFdmVudERldGFpbHNTb3J0ZWQiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UmVhZEV2ZW50 -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTb3J0Q2xhdXNlIiB0eXBlPSJ0bnM6TGlzdE9mU29ydFJ1bGVFbGVtZW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0YWlsc1NvcnRlZCIgdHlwZT0i -dG5zOlJlYWRFdmVudERldGFpbHNTb3J0ZWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz -UmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 -ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9InRuczpS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFk -UHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1l -IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpk -b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dy -ZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJh -dGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRQcm9j -ZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRUaW1lRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxp -c3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRUaW1lRGV0 -YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEFubm90YXRpb25EYXRhRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxp -c3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEFubm90 -YXRpb25EYXRhRGV0YWlscyIgdHlwZT0idG5zOlJlYWRBbm5vdGF0aW9uRGF0YURldGFpbHMiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh -dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw -ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 -InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp -Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp -ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi -IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlNb2RpZmllZEV2ZW50Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlFdmVudCI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25J -bmZvcyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5TW9kaWZpZWRFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlN -b2RpZmllZEV2ZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJl -cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0 -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpU -aW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6 -TGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSI+DQogICAg +bWVudCBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2FsbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0 +aG9kc1RvQ2FsbCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FsbFJl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxSZXNwb25zZSI+DQogICAg PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXNw -b25zZSIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRu -czpXcml0ZVZhbHVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0ZVZh -bHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZVZh -bHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSIgdHlwZT0idG5z -Okxpc3RPZldyaXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2Rlc1RvV3JpdGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlUmVxdWVzdCIgdHlwZT0idG5zOldyaXRl -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1 -c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlUmVzcG9uc2UiIHR5cGU9 -InRuczpXcml0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRh -aWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkRlbGV0ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5 -cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iUmVwbGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpy -ZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJm -b3JtVXBkYXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVw -bGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRh -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVEYXRhRGV0YWls -cyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 -IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBk -YXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFj -ZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFs -dWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRh -RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2Vy -dFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZUV2ZW50RGV0YWlscyIgdHlw -ZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh -aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -dGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlm -aWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0 -YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6RGVs -ZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlRXZl -bnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0 -bnM6RGVsZXRlRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0 -b3J5VXBkYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZT -dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0 +aG9kUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5m byIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVz -dWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhp -c3RvcnlVcGRhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVzcG9uc2UiIHR5 +cGU9InRuczpDYWxsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1vbml0 +b3JpbmdNb2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iU2FtcGxpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +UmVwb3J0aW5nXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3Jp +bmdNb2RlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlN0YXR1c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +dGF0dXNWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNWYWx1 +ZVRpbWVzdGFtcF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIiIHR5cGU9InRuczpEYXRh +Q2hhbmdlVHJpZ2dlciIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGVhZGJhbmRUeXBl +Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +YnNvbHV0ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50XzIiIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5cGU9InRuczpEZWFkYmFuZFR5cGUiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJNb25pdG9yaW5nRmlsdGVyIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZUZpbHRlciI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpN +b25pdG9yaW5nRmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyaWdnZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRiYW5kVHlwZSIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFDaGFuZ2VGaWx0ZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdlRmlsdGVyIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5n +RmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlbGVjdENsYXVzZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldoZXJlQ2xhdXNlIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNlcnZlckNhcGFi +aWxpdGllc0RlZmF1bHRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmVhdFVuY2VydGFpbkFzQmFkIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJjZW50RGF0YUJh +ZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQZXJjZW50RGF0YUdvb2QiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2xvcGVkRXh0cmFwb2xhdGlv +biIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZp +Z3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw +ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIHR5cGU9InRuczpBZ2dyZWdhdGVGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRv +cmluZ0ZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0 +ZXJSZXN1bHQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VS +ZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZURpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpFdmVudEZpbHRl +clJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVz +dWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFN0YXJ0VGltZSIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQWdncmVnYXRl +Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIHR5cGU9InRu +czpBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +bml0b3JpbmdQYXJhbWV0ZXJzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIg +dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY2FyZE9sZGVz +dCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdQYXJh +bWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtVG9Nb25pdG9yIiB0eXBlPSJ0bnM6UmVh +ZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJz +IiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6 +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0 +b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz +ZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJSZXN1 +bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVk +SXRlbUNyZWF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9u +aXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRu -czpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlz -dE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5 +cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1zVG9DcmVhdGUi +IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 +cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0 +ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRl +bXNSZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRl +cnMiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1v +ZGlmeVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0 +ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 -cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGlj -SW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRl -UmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9k -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJp -YW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1 -ZXN0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVh +OlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +dmlzZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJS +ZXN1bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNh -bGxNZXRob2RSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVz -dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGlj -SW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0 -eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBl -PSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl -ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1ldGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVx -dWVzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIg -dHlwZT0idG5zOkNhbGxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxs -UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlz -dE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Q2FsbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJNb25pdG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5 -cGU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K -ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2Vy -IiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9IkRlYWRiYW5kVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iUGVyY2VudF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRU -eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5n -ZVRyaWdnZXIiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWFkYmFuZFR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZp -bHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxl -QXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0i -dG5zOkV2ZW50RmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVD -b25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUGVyY2VudERhdGFCYWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNp -Z25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNs -b3BlZEV4dHJhcG9sYXRpb24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNv -bmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVn -YXRlRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVy -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJS -ZXN1bHQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBl -PSJ0bnM6RXZlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -dmlzZWRTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVy -UmVzdWx0IiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRl -cnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJGaWx0ZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRpc2NhcmRPbGRlc3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yaW5nUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRv -ciIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25p -dG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVt +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRv +cmVkSXRlbU1vZGlmeVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi +IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9y +ZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9u SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlw -ZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5 -cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt -Q3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +bWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1zVG9Nb2Rp +ZnkiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3Qi +IHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1v +ZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVk +SXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp +bmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz +MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25pdG9yaW5nTW9k +ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiB0 +eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlua3NU +b0FkZCIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlua3NUb1JlbW92ZSIgdHlwZT0idWE6TGlz +dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFRyaWdn +ZXJpbmdSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0VHJpZ2dlcmluZ1JlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFkZFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +ZGREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3Zl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiB0eXBlPSJ0bnM6U2V0VHJpZ2dl +cmluZ1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVNb25pdG9y +ZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9u +SWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGlt -ZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJJdGVtc1RvQ3JlYXRlIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVl -c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk -SXRlbXNSZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl -ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNy -ZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVt -c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9k -aWZ5UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0 -ZW1Nb2RpZnlSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1N -b2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0 -dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXpl -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIg -dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi -IHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3Vs -dCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6 -VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJdGVtc1RvTW9kaWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJl -cXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRv -cmVkSXRlbXNSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJ -dGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5n -TW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlz -dE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp -Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVSZXNwb25zZSIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1J -ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkxpbmtzVG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1v -dmUiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0 -T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z -dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlbW92ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1v -dmVEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlw -ZT0idG5zOlNldFRyaWdnZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1v -bml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw -b25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxp -c3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0 -b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZh -bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZl -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hp -bmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1 -YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1 -YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25z +ZSIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi +bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExp +ZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h +eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +aW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVh +dGVTdWJzY3JpcHRpb25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9u +c2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl +SGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpDcmVh +dGVTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9k +aWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz +Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1 +ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3Vi bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZl dGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNl -IiB0eXBlPSJ0bnM6Q3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50 -ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBB -bGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlv -cml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5 -U3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNl +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNl +IiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1 +YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0 +UHVibGlzaGluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNl Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZh -bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxp -c2hpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlz -aGluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxp -c3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJl -c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51 -bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlB1Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6 -TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRh -dGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24i -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv -eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0 -aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRI -YW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRu -czpNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0 -bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlm -aWNhdGlvbiIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50 -Tm90aWZpY2F0aW9uTGlzdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlw -ZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25M -aXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxk -TGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3Qi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRM -aXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0 -eXBlPSJ0bnM6TGlzdE9mRXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5 -cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp -c3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -SGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRM -aXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9u -RGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTdGF0dXMiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmlj -YXRpb24iIHR5cGU9InRuczpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tu -b3dsZWRnZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlw -dGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0 -aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQi -IHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1 -ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudHMiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRu -czpQdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJl -c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -cmVOb3RpZmljYXRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxp -c2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -dHJhbnNtaXRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlzaGluZ01v +ZGVSZXNwb25zZSIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi +bGlzaFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25EYXRhIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25P +YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9u +TWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO +b3RpZmljYXRpb25EYXRhIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1zIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZU5v +dGlmaWNhdGlvbiIgdHlwZT0idG5zOkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZh +bHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1O +b3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3Jl +ZEl0ZW1Ob3RpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0 +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRXZl +bnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlm +aWNhdGlvbkxpc3QiIHR5cGU9InRuczpFdmVudE5vdGlmaWNhdGlvbkxpc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIg +dHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpF +dmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpMaXN0T2ZF +dmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIgdHlwZT0idWE6TGlzdE9mVmFy +aWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRG +aWVsZExpc3QiIHR5cGU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiB0 +eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1c0NoYW5n +ZU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1cyIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRpYWdub3N0aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgdHlwZT0idG5z +OlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNlTnVtYmVyIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj +a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3Jp +cHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1l +bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgdHlwZT0idG5zOkxpc3RP +ZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu +czpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgdHlwZT0idG5z +Okxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVxdWVzdCIgdHlwZT0idG5zOlB1Ymxpc2hSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4 czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBl PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90 -aWZpY2F0aW9uTWVzc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVu -Y2VOdW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0 -eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0 -bnM6TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0 -T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW5kSW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFu -c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJU -cmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRu -czpUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0i +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNl +cXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlw +ZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaFJlc3BvbnNlIiB0eXBlPSJ0bnM6UHVibGlzaFJlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0cmFuc21pdFNlcXVlbmNl +TnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcHVi +bGlzaFJlcXVlc3QiIHR5cGU9InRuczpSZXB1Ymxpc2hSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIHR5cGU9 +InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2Zl +clJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZUcmFuc2Zl +clJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbmRJ +bml0aWFsVmFsdWVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJh +bnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgdHlwZT0idG5zOlRyYW5zZmVyU3Vic2NyaXB0aW9u +c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0 +aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw +ZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVN1 +YnNjcmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVT +dWJzY3JpcHRpb25zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVTdWJzY3Jp +cHRpb25zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJ1aWxkSW5mbyI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWFudWZhY3R1cmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv +ZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQnVpbGROdW1iZXIiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkRGF0ZSIgdHlwZT0ieHM6 +ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZEluZm8iIHR5cGU9InRuczpCdWls +ZEluZm8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0Ij4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb2xk +XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ildhcm1fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90XzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlRyYW5zcGFyZW50XzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdEFu +ZE1pcnJvcmVkXzUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCIgdHlwZT0idG5zOlJlZHVu +ZGFuY3lTdXBwb3J0IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZXJ2ZXJTdGF0ZSI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJ1bm5pbmdfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +RmFpbGVkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vQ29uZmlndXJhdGlv +bl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdXNwZW5kZWRfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2h1dGRvd25fNCIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVGVzdF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJD +b21tdW5pY2F0aW9uRmF1bHRfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5r +bm93bl83IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcklkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2aWNlTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdGUiIHR5cGU9InRuczpT +ZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBl +IiB0eXBlPSJ0bnM6UmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw +ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2lu +dFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kcG9pbnRVcmxMaXN0IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0 -bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJCdWlsZEluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNp -b24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWls -ZERhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZv -IiB0eXBlPSJ0bnM6QnVpbGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1 -bmRhbmN5U3VwcG9ydCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQ29sZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJt -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJIb3RBbmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQi -IHR5cGU9InRuczpSZWR1bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt -ZT0iU2VydmVyU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb0NvbmZpZ3VyYXRpb25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3Vz -cGVuZGVkXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQ29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlVua25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 -U2VydmVyU3RhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZl -ckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXJ2ZXJJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25l -ZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0 -YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRh -bnRTZXJ2ZXJEYXRhVHlwZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2Vy -dmVyRGF0YVR5cGUiIHR5cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -UmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRh -VHlwZSIgdHlwZT0idG5zOkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1h -eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBl -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5 -cGU9InRuczpMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdv -cmtHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3 -b3JrR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlw +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9 +InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 +RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5ldHdvcmtHcm91cERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtQYXRocyIgdHlwZT0idG5zOkxpc3RPZkVu +ZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrR3Jv +dXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZXR3 +b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtHcm91cERhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVt +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 +b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNhbXBsaW5n +SW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 +aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlw ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3Jr -R3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +bmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyRGlhZ25v +c3RpY3NTdW1tYXJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclZpZXdDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTZXNzaW9uQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkU2Vzc2lv +bkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uVGltZW91 +dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkFib3J0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U3Vic2NyaXB0 +aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxp +c2hpbmdJbnRlcnZhbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5 -cGU9InRuczpTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5n -SW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERp -YWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2Vzc2lvblRpbWVvdXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VycmVudFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0 -ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFy -eURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJy -ZW50VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5m -byIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlY29uZHNUaWxsU2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 -ZXJTdGF0dXNEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1 -YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRp -b24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91Ymxl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1l -c3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29u -dGFjdFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1v -bml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRvdGFsUmVxdWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVuYXV0aG9yaXplZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJE +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIHR5cGU9 +InRuczpTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRUaW1lIiB0eXBlPSJ4 +czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +dGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vjb25kc1RpbGxT +aHV0ZG93biIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNodXRkb3duUmVhc29uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl +IiB0eXBlPSJ0bnM6U2VydmVyU3RhdHVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Np +b25OYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv +aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFjdHVhbFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDb25uZWN0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1 +cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3Vu +dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkN1cnJlbnRQdWJsaXNoUmVxdWVzdHNJblF1ZXVlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxSZXF1 +ZXN0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5hdXRob3JpemVk +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJE YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNhbGxDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -cmVhdGVNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VD -b3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZp -Y2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu -dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVsZXRlTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJv -d3NlTmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUXVlcnlGaXJzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +bmFtZT0iV3JpdGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5VXBkYXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbENv +dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25p +dG9yaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldFRy +aWdnZXJpbmdDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVN +b25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNy +ZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlF1ZXJ5TmV4dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lz -dGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lz -dGVyTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUi -IHR5cGU9InRuczpTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFU -eXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np -b25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNz -RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNldFB1Ymxpc2hpbmdNb2RlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy +U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl +bGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZGROb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJl +ZmVyZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO +b2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VDb3Vu +dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0Q291bnQiIHR5 +cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05v +ZGVJZHNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0 +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0Q291bnQi +IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Np +b25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpT +ZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2Vy -SWRIaXN0b3J5IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlz -bSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9y -dFByb3RvY29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNz -YWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp -Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpM -aXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRh -dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3Rh -bENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl -IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3Rh -dHVzUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1 -bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jl -c3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBl -PSJ0bnM6TGlzdE9mU3RhdHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 -InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlm -ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVi -bGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaXNhYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 -Ymxpc2hNZXNzYWdlUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0 +SWRPZlNlc3Npb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZEhpc3RvcnkiIHR5cGU9 +InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFuaXNtIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJFbmNvZGluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvdG9jb2wiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UG9saWN5 +VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 +QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25TZWN1 +cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uU2VjdXJpdHlEaWFnbm9z +dGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZXNzaW9u +U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlc3Npb25TZWN1 +cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF +cnJvckNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1 +c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 +aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6 +U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZTdGF0 +dXNSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nSW50 +ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTW9kaWZ5Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcHVibGlzaE1lc3NhZ2VSZXF1 +ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJl +cXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVycmVkVG9BbHRDbGllbnRDb3VudCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNmZXJSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz -aFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFdmVudE5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3Nh -Z2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0 -ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv -cmluZ1F1ZXVlT3ZlcmZsb3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkV2ZW50UXVldWVPdmVyZmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpT -dWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNj -cmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2si -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJOb2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9kZURlbGV0ZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJl -bmNlQWRkZWRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVs -ZXRlZF84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRf -MTYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9k -ZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlw -ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1v -ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5 -cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5n -ZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpT -ZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURh -dGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFu -dGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQi -IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0i -dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJF -VUluZm9ybWF0aW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlw -ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAv +bmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0 +aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGF0ZVB1Ymxpc2hS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 +TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVuYWNrbm93bGVkZ2VkTWVzc2FnZUNvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlzY2FyZGVkTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxv +d0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRRdWV1ZU92ZXJm +bG93Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkRpYWdu +b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNj +cmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRu +czpTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25E +aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxl +VHlwZSAgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayI+DQogICAgPHhzOnJlc3Ry +aWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v +ZGVBZGRlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlRGVsZXRlZF8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VBZGRlZF80IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VEZWxldGVkXzgiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlQ2hhbmdlZF8xNiIgLz4NCiAgICA8L3hz +OnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v +ZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVy +ZVZlcmJNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RlbENoYW5nZVN0cnVj +dHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWRUeXBlIiB0eXBlPSJ1YTpOb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJWZXJiIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kZWxDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZW1hbnRp +Y0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWRUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vt +YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hhbmdlU3Ry +dWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlbWFu +dGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRu +czpTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZW1hbnRpY0NoYW5n +ZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1 +cmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUmFuZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkxvdyIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJIaWdoIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSYW5nZSIgdHlwZT0idG5zOlJhbmdlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZSYW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmFuZ2UiIHR5cGU9InRuczpMaXN0T2ZS +YW5nZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5h +bWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxp +emVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkVVSW5mb3JtYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFVUluZm9ybWF0aW9uIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBeGlzU2Nh +bGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxpbmVhcl8wIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJMb2dfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG5f +MiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51 +bWVyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkF4aXNTY2FsZUVu +dW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB +eGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkF4aXNTY2FsZUVu +dW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXhpc1NjYWxlRW51bWVyYXRpb24iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbXBsZXhO +dW1iZXJUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFsIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNv +bXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6Q29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbXBsZXhOdW1iZXJUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0i +dG5zOkNvbXBsZXhOdW1iZXJUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZkNvbXBsZXhOdW1iZXJUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQog ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6 ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5h cnkiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhO dW1iZXJUeXBlIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5m -b3JtYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFVVJhbmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9j -YWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkF4aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlv -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0 -eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZUNsaWVudE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhv -ZElucHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0 -cHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIHR5cGU9InRuczpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiB0eXBlPSJ1 -YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZvY2F0aW9u -Q3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGwi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFz -dE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l -dGhvZElucHV0VmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1 -dFZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikxhc3RNZXRob2RSZXR1cm5TdGF0dXMiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSIgdHlwZT0idG5zOlByb2dyYW1E -aWFnbm9zdGljMkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5vdGF0 -aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdl -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlv -biIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4 -Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94 -czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3Jt -YXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2NoZW1h -Pg== +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVy +VHlwZSIgdHlwZT0idG5zOkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEb3VibGVD +b21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBeGlzSW5mb3JtYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5n +ZSIgdHlwZT0idG5zOlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlz +U2NhbGVUeXBlIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91 +YmxlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlv +biIgdHlwZT0idG5zOkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mQXhpc0luZm9ybWF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJBeGlzSW5mb3JtYXRpb24iIHR5cGU9InRuczpBeGlzSW5mb3JtYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkxpc3RPZkF4aXNJbmZvcm1hdGlv +biIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iWFZUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY +IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlZhbHVlIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIg +dHlwZT0idG5zOlhWVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mWFZU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYVlR5cGUi +IHR5cGU9InRuczpYVlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlhWVHlwZSIgdHlwZT0idG5zOkxpc3RPZlhWVHlw +ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVh +dGVDbGllbnROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1 +dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFy +Z3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBl +IiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0 +aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0 +TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRo +b2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJ +bnB1dFZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1 +ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0 +TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiIHR5cGU9InRuczpQcm9ncmFtRGlhZ25v +c3RpYzJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5ub3RhdGlvbiI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFubm90YXRpb25UaW1l +IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFubm90YXRpb24iIHR5 +cGU9InRuczpBbm5vdGF0aW9uIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFeGNlcHRp +b25EZXZpYXRpb25Gb3JtYXQiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBYnNvbHV0ZVZhbHVlXzAiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRPZlZhbHVlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRPZlJhbmdlXzIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlBlcmNlbnRPZkVVUmFuZ2VfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVW5rbm93bl80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiB0 +eXBlPSJ0bnM6RXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiAvPg0KDQo8L3hzOnNjaGVtYT4= @@ -160770,6 +168786,118 @@ Pg== 1 1 + + Variable_2 + + i=16597 + + + 0 + BaseConfigurationDataType + + + i=47 + + + i=69 + + 16597 + + + //xs:element[@name='BaseConfigurationDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16604 + + + 0 + BaseConfigurationRecordDataType + + + i=47 + + + i=69 + + 16604 + + + //xs:element[@name='BaseConfigurationRecordDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16607 + + + 0 + CertificateGroupDataType + + + i=47 + + + i=69 + + 16607 + + + //xs:element[@name='CertificateGroupDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16610 + + + 0 + ConfigurationUpdateTargetType + + + i=47 + + + i=69 + + 16610 + + + //xs:element[@name='ConfigurationUpdateTargetType'] + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -160798,6 +168926,202 @@ Pg== 1 1 + + Variable_2 + + i=16614 + + + 0 + ApplicationConfigurationDataType + + + i=47 + + + i=69 + + 16614 + + + //xs:element[@name='ApplicationConfigurationDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16617 + + + 0 + ApplicationIdentityDataType + + + i=47 + + + i=69 + + 16617 + + + //xs:element[@name='ApplicationIdentityDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16620 + + + 0 + EndpointDataType + + + i=47 + + + i=69 + + 16620 + + + //xs:element[@name='EndpointDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16623 + + + 0 + ServerEndpointDataType + + + i=47 + + + i=69 + + 16623 + + + //xs:element[@name='ServerEndpointDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16626 + + + 0 + SecuritySettingsDataType + + + i=47 + + + i=69 + + 16626 + + + //xs:element[@name='SecuritySettingsDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=16629 + + + 0 + UserTokenSettingsDataType + + + i=47 + + + i=69 + + 16629 + + + //xs:element[@name='UserTokenSettingsDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19787 + + + 0 + AuthorizationServiceConfigurationDataType + + + i=47 + + + i=69 + + 19787 + + + //xs:element[@name='AuthorizationServiceConfigurationDataType'] + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -163038,6 +171362,146 @@ Pg== 1 1 + + Variable_2 + + i=19384 + + + 0 + LogRecord + + + i=47 + + + i=69 + + 19384 + + + //xs:element[@name='LogRecord'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19790 + + + 0 + LogRecordsDataType + + + i=47 + + + i=69 + + 19790 + + + //xs:element[@name='LogRecordsDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19793 + + + 0 + SpanContextDataType + + + i=47 + + + i=69 + + 19793 + + + //xs:element[@name='SpanContextDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19796 + + + 0 + TraceContextDataType + + + i=47 + + + i=69 + + 19796 + + + //xs:element[@name='TraceContextDataType'] + + + + i=12 + + -1 + 1 + 1 + + + Variable_2 + + i=19799 + + + 0 + NameValuePair + + + i=47 + + + i=69 + + 19799 + + + //xs:element[@name='NameValuePair'] + + + + i=12 + + -1 + 1 + 1 + Variable_2 @@ -165440,6 +173904,106 @@ Pg== + + Object_1 + + i=16632 + + + 0 + Default JSON + + + i=76 + + 16632 + + + + i=38 + + true + + i=15434 + + + + + + Object_1 + + i=16633 + + + 0 + Default JSON + + + i=76 + + 16633 + + + + i=38 + + true + + i=15435 + + + + + + Object_1 + + i=16634 + + + 0 + Default JSON + + + i=76 + + 16634 + + + + i=38 + + true + + i=15436 + + + + + + Object_1 + + i=16635 + + + 0 + Default JSON + + + i=76 + + 16635 + + + + i=38 + + true + + i=15538 + + + + Object_1 @@ -165465,6 +174029,181 @@ Pg== + + Object_1 + + i=16636 + + + 0 + Default JSON + + + i=76 + + 16636 + + + + i=38 + + true + + i=15549 + + + + + + Object_1 + + i=16637 + + + 0 + Default JSON + + + i=76 + + 16637 + + + + i=38 + + true + + i=15556 + + + + + + Object_1 + + i=16642 + + + 0 + Default JSON + + + i=76 + + 16642 + + + + i=38 + + true + + i=15557 + + + + + + Object_1 + + i=16643 + + + 0 + Default JSON + + + i=76 + + 16643 + + + + i=38 + + true + + i=15558 + + + + + + Object_1 + + i=16644 + + + 0 + Default JSON + + + i=76 + + 16644 + + + + i=38 + + true + + i=15559 + + + + + + Object_1 + + i=16645 + + + 0 + Default JSON + + + i=76 + + 16645 + + + + i=38 + + true + + i=15560 + + + + + + Object_1 + + i=19802 + + + 0 + Default JSON + + + i=76 + + 19802 + + + + i=38 + + true + + i=19445 + + + + Object_1 @@ -167465,6 +176204,131 @@ Pg== + + Object_1 + + i=19387 + + + 0 + Default JSON + + + i=76 + + 19387 + + + + i=38 + + true + + i=19361 + + + + + + Object_1 + + i=19803 + + + 0 + Default JSON + + + i=76 + + 19803 + + + + i=38 + + true + + i=19745 + + + + + + Object_1 + + i=19804 + + + 0 + Default JSON + + + i=76 + + 19804 + + + + i=38 + + true + + i=19746 + + + + + + Object_1 + + i=19805 + + + 0 + Default JSON + + + i=76 + + 19805 + + + + i=38 + + true + + i=19747 + + + + + + Object_1 + + i=19806 + + + 0 + Default JSON + + + i=76 + + 19806 + + + + i=38 + + true + + i=19748 + + + + Object_1 diff --git a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.ServerBase.cs b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.ServerBase.cs index f6316bfa52..faea8e56ad 100644 --- a/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.ServerBase.cs +++ b/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.ServerBase.cs @@ -29,6 +29,8 @@ using System; using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; namespace Opc.Ua { @@ -50,6 +52,18 @@ ResponseHeader FindServers( StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers); + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service using async Task based request. + /// + Task FindServersAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection serverUris, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) @@ -63,6 +77,18 @@ ResponseHeader FindServersOnNetwork( StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers); + + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service using async Task based request. + /// + Task FindServersOnNetworkAsync( + RequestHeader requestHeader, + uint startingRecordId, + uint maxRecordsToReturn, + StringCollection serverCapabilityFilter, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_GetEndpoints) @@ -75,6 +101,18 @@ ResponseHeader GetEndpoints( StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints); + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service using async Task based request. + /// + Task GetEndpointsAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection profileUris, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_CreateSession) @@ -100,6 +138,23 @@ ResponseHeader CreateSession( out SignedSoftwareCertificateCollection serverSoftwareCertificates, out SignatureData serverSignature, out uint maxRequestMessageSize); + + #if (!OPCUA_EXCLUDE_CreateSession_ASYNC) + /// + /// Invokes the CreateSession service using async Task based request. + /// + Task CreateSessionAsync( + RequestHeader requestHeader, + ApplicationDescription clientDescription, + string serverUri, + string endpointUrl, + string sessionName, + byte[] clientNonce, + byte[] clientCertificate, + double requestedSessionTimeout, + uint maxResponseMessageSize, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_ActivateSession) @@ -116,6 +171,20 @@ ResponseHeader ActivateSession( out byte[] serverNonce, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_ActivateSession_ASYNC) + /// + /// Invokes the ActivateSession service using async Task based request. + /// + Task ActivateSessionAsync( + RequestHeader requestHeader, + SignatureData clientSignature, + SignedSoftwareCertificateCollection clientSoftwareCertificates, + StringCollection localeIds, + ExtensionObject userIdentityToken, + SignatureData userTokenSignature, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_CloseSession) @@ -125,6 +194,16 @@ ResponseHeader ActivateSession( ResponseHeader CloseSession( RequestHeader requestHeader, bool deleteSubscriptions); + + #if (!OPCUA_EXCLUDE_CloseSession_ASYNC) + /// + /// Invokes the CloseSession service using async Task based request. + /// + Task CloseSessionAsync( + RequestHeader requestHeader, + bool deleteSubscriptions, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Cancel) @@ -135,6 +214,16 @@ ResponseHeader Cancel( RequestHeader requestHeader, uint requestHandle, out uint cancelCount); + + #if (!OPCUA_EXCLUDE_Cancel_ASYNC) + /// + /// Invokes the Cancel service using async Task based request. + /// + Task CancelAsync( + RequestHeader requestHeader, + uint requestHandle, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_AddNodes) @@ -146,6 +235,16 @@ ResponseHeader AddNodes( AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_AddNodes_ASYNC) + /// + /// Invokes the AddNodes service using async Task based request. + /// + Task AddNodesAsync( + RequestHeader requestHeader, + AddNodesItemCollection nodesToAdd, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_AddReferences) @@ -157,6 +256,16 @@ ResponseHeader AddReferences( AddReferencesItemCollection referencesToAdd, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_AddReferences_ASYNC) + /// + /// Invokes the AddReferences service using async Task based request. + /// + Task AddReferencesAsync( + RequestHeader requestHeader, + AddReferencesItemCollection referencesToAdd, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_DeleteNodes) @@ -168,6 +277,16 @@ ResponseHeader DeleteNodes( DeleteNodesItemCollection nodesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_DeleteNodes_ASYNC) + /// + /// Invokes the DeleteNodes service using async Task based request. + /// + Task DeleteNodesAsync( + RequestHeader requestHeader, + DeleteNodesItemCollection nodesToDelete, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_DeleteReferences) @@ -179,6 +298,16 @@ ResponseHeader DeleteReferences( DeleteReferencesItemCollection referencesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_DeleteReferences_ASYNC) + /// + /// Invokes the DeleteReferences service using async Task based request. + /// + Task DeleteReferencesAsync( + RequestHeader requestHeader, + DeleteReferencesItemCollection referencesToDelete, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Browse) @@ -192,6 +321,18 @@ ResponseHeader Browse( BrowseDescriptionCollection nodesToBrowse, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_Browse_ASYNC) + /// + /// Invokes the Browse service using async Task based request. + /// + Task BrowseAsync( + RequestHeader requestHeader, + ViewDescription view, + uint requestedMaxReferencesPerNode, + BrowseDescriptionCollection nodesToBrowse, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_BrowseNext) @@ -204,6 +345,17 @@ ResponseHeader BrowseNext( ByteStringCollection continuationPoints, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_BrowseNext_ASYNC) + /// + /// Invokes the BrowseNext service using async Task based request. + /// + Task BrowseNextAsync( + RequestHeader requestHeader, + bool releaseContinuationPoints, + ByteStringCollection continuationPoints, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) @@ -215,6 +367,16 @@ ResponseHeader TranslateBrowsePathsToNodeIds( BrowsePathCollection browsePaths, out BrowsePathResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds_ASYNC) + /// + /// Invokes the TranslateBrowsePathsToNodeIds service using async Task based request. + /// + Task TranslateBrowsePathsToNodeIdsAsync( + RequestHeader requestHeader, + BrowsePathCollection browsePaths, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_RegisterNodes) @@ -225,6 +387,16 @@ ResponseHeader RegisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToRegister, out NodeIdCollection registeredNodeIds); + + #if (!OPCUA_EXCLUDE_RegisterNodes_ASYNC) + /// + /// Invokes the RegisterNodes service using async Task based request. + /// + Task RegisterNodesAsync( + RequestHeader requestHeader, + NodeIdCollection nodesToRegister, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_UnregisterNodes) @@ -234,6 +406,16 @@ ResponseHeader RegisterNodes( ResponseHeader UnregisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToUnregister); + + #if (!OPCUA_EXCLUDE_UnregisterNodes_ASYNC) + /// + /// Invokes the UnregisterNodes service using async Task based request. + /// + Task UnregisterNodesAsync( + RequestHeader requestHeader, + NodeIdCollection nodesToUnregister, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_QueryFirst) @@ -252,6 +434,20 @@ ResponseHeader QueryFirst( out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult); + + #if (!OPCUA_EXCLUDE_QueryFirst_ASYNC) + /// + /// Invokes the QueryFirst service using async Task based request. + /// + Task QueryFirstAsync( + RequestHeader requestHeader, + ViewDescription view, + NodeTypeDescriptionCollection nodeTypes, + ContentFilter filter, + uint maxDataSetsToReturn, + uint maxReferencesToReturn, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_QueryNext) @@ -264,6 +460,17 @@ ResponseHeader QueryNext( byte[] continuationPoint, out QueryDataSetCollection queryDataSets, out byte[] revisedContinuationPoint); + + #if (!OPCUA_EXCLUDE_QueryNext_ASYNC) + /// + /// Invokes the QueryNext service using async Task based request. + /// + Task QueryNextAsync( + RequestHeader requestHeader, + bool releaseContinuationPoint, + byte[] continuationPoint, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Read) @@ -277,6 +484,18 @@ ResponseHeader Read( ReadValueIdCollection nodesToRead, out DataValueCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_Read_ASYNC) + /// + /// Invokes the Read service using async Task based request. + /// + Task ReadAsync( + RequestHeader requestHeader, + double maxAge, + TimestampsToReturn timestampsToReturn, + ReadValueIdCollection nodesToRead, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_HistoryRead) @@ -291,6 +510,19 @@ ResponseHeader HistoryRead( HistoryReadValueIdCollection nodesToRead, out HistoryReadResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_HistoryRead_ASYNC) + /// + /// Invokes the HistoryRead service using async Task based request. + /// + Task HistoryReadAsync( + RequestHeader requestHeader, + ExtensionObject historyReadDetails, + TimestampsToReturn timestampsToReturn, + bool releaseContinuationPoints, + HistoryReadValueIdCollection nodesToRead, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Write) @@ -302,6 +534,16 @@ ResponseHeader Write( WriteValueCollection nodesToWrite, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_Write_ASYNC) + /// + /// Invokes the Write service using async Task based request. + /// + Task WriteAsync( + RequestHeader requestHeader, + WriteValueCollection nodesToWrite, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_HistoryUpdate) @@ -313,6 +555,16 @@ ResponseHeader HistoryUpdate( ExtensionObjectCollection historyUpdateDetails, out HistoryUpdateResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_HistoryUpdate_ASYNC) + /// + /// Invokes the HistoryUpdate service using async Task based request. + /// + Task HistoryUpdateAsync( + RequestHeader requestHeader, + ExtensionObjectCollection historyUpdateDetails, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Call) @@ -324,6 +576,16 @@ ResponseHeader Call( CallMethodRequestCollection methodsToCall, out CallMethodResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_Call_ASYNC) + /// + /// Invokes the Call service using async Task based request. + /// + Task CallAsync( + RequestHeader requestHeader, + CallMethodRequestCollection methodsToCall, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_CreateMonitoredItems) @@ -337,6 +599,18 @@ ResponseHeader CreateMonitoredItems( MonitoredItemCreateRequestCollection itemsToCreate, out MonitoredItemCreateResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_CreateMonitoredItems_ASYNC) + /// + /// Invokes the CreateMonitoredItems service using async Task based request. + /// + Task CreateMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + TimestampsToReturn timestampsToReturn, + MonitoredItemCreateRequestCollection itemsToCreate, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_ModifyMonitoredItems) @@ -350,6 +624,18 @@ ResponseHeader ModifyMonitoredItems( MonitoredItemModifyRequestCollection itemsToModify, out MonitoredItemModifyResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_ModifyMonitoredItems_ASYNC) + /// + /// Invokes the ModifyMonitoredItems service using async Task based request. + /// + Task ModifyMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + TimestampsToReturn timestampsToReturn, + MonitoredItemModifyRequestCollection itemsToModify, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_SetMonitoringMode) @@ -363,6 +649,18 @@ ResponseHeader SetMonitoringMode( UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_SetMonitoringMode_ASYNC) + /// + /// Invokes the SetMonitoringMode service using async Task based request. + /// + Task SetMonitoringModeAsync( + RequestHeader requestHeader, + uint subscriptionId, + MonitoringMode monitoringMode, + UInt32Collection monitoredItemIds, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_SetTriggering) @@ -379,6 +677,19 @@ ResponseHeader SetTriggering( out DiagnosticInfoCollection addDiagnosticInfos, out StatusCodeCollection removeResults, out DiagnosticInfoCollection removeDiagnosticInfos); + + #if (!OPCUA_EXCLUDE_SetTriggering_ASYNC) + /// + /// Invokes the SetTriggering service using async Task based request. + /// + Task SetTriggeringAsync( + RequestHeader requestHeader, + uint subscriptionId, + uint triggeringItemId, + UInt32Collection linksToAdd, + UInt32Collection linksToRemove, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_DeleteMonitoredItems) @@ -391,6 +702,17 @@ ResponseHeader DeleteMonitoredItems( UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_DeleteMonitoredItems_ASYNC) + /// + /// Invokes the DeleteMonitoredItems service using async Task based request. + /// + Task DeleteMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + UInt32Collection monitoredItemIds, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_CreateSubscription) @@ -409,6 +731,21 @@ ResponseHeader CreateSubscription( out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount); + + #if (!OPCUA_EXCLUDE_CreateSubscription_ASYNC) + /// + /// Invokes the CreateSubscription service using async Task based request. + /// + Task CreateSubscriptionAsync( + RequestHeader requestHeader, + double requestedPublishingInterval, + uint requestedLifetimeCount, + uint requestedMaxKeepAliveCount, + uint maxNotificationsPerPublish, + bool publishingEnabled, + byte priority, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_ModifySubscription) @@ -426,6 +763,21 @@ ResponseHeader ModifySubscription( out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount); + + #if (!OPCUA_EXCLUDE_ModifySubscription_ASYNC) + /// + /// Invokes the ModifySubscription service using async Task based request. + /// + Task ModifySubscriptionAsync( + RequestHeader requestHeader, + uint subscriptionId, + double requestedPublishingInterval, + uint requestedLifetimeCount, + uint requestedMaxKeepAliveCount, + uint maxNotificationsPerPublish, + byte priority, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_SetPublishingMode) @@ -438,6 +790,17 @@ ResponseHeader SetPublishingMode( UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_SetPublishingMode_ASYNC) + /// + /// Invokes the SetPublishingMode service using async Task based request. + /// + Task SetPublishingModeAsync( + RequestHeader requestHeader, + bool publishingEnabled, + UInt32Collection subscriptionIds, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Publish) @@ -453,6 +816,16 @@ ResponseHeader Publish( out NotificationMessage notificationMessage, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_Publish_ASYNC) + /// + /// Invokes the Publish service using async Task based request. + /// + Task PublishAsync( + RequestHeader requestHeader, + SubscriptionAcknowledgementCollection subscriptionAcknowledgements, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_Republish) @@ -464,6 +837,17 @@ ResponseHeader Republish( uint subscriptionId, uint retransmitSequenceNumber, out NotificationMessage notificationMessage); + + #if (!OPCUA_EXCLUDE_Republish_ASYNC) + /// + /// Invokes the Republish service using async Task based request. + /// + Task RepublishAsync( + RequestHeader requestHeader, + uint subscriptionId, + uint retransmitSequenceNumber, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_TransferSubscriptions) @@ -476,6 +860,17 @@ ResponseHeader TransferSubscriptions( bool sendInitialValues, out TransferResultCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_TransferSubscriptions_ASYNC) + /// + /// Invokes the TransferSubscriptions service using async Task based request. + /// + Task TransferSubscriptionsAsync( + RequestHeader requestHeader, + UInt32Collection subscriptionIds, + bool sendInitialValues, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_DeleteSubscriptions) @@ -487,6 +882,16 @@ ResponseHeader DeleteSubscriptions( UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_DeleteSubscriptions_ASYNC) + /// + /// Invokes the DeleteSubscriptions service using async Task based request. + /// + Task DeleteSubscriptionsAsync( + RequestHeader requestHeader, + UInt32Collection subscriptionIds, + CancellationToken ct); + #endif #endif } #endregion @@ -518,6 +923,26 @@ public virtual ResponseHeader FindServers( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service using async Task based request. + /// + public virtual async Task FindServersAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection serverUris, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) @@ -541,6 +966,26 @@ public virtual ResponseHeader FindServersOnNetwork( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service using async Task based request. + /// + public virtual async Task FindServersOnNetworkAsync( + RequestHeader requestHeader, + uint startingRecordId, + uint maxRecordsToReturn, + StringCollection serverCapabilityFilter, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_GetEndpoints) @@ -562,6 +1007,26 @@ public virtual ResponseHeader GetEndpoints( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service using async Task based request. + /// + public virtual async Task GetEndpointsAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection profileUris, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_CreateSession) @@ -604,6 +1069,31 @@ public virtual ResponseHeader CreateSession( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_CreateSession_ASYNC) + /// + /// Invokes the CreateSession service using async Task based request. + /// + public virtual async Task CreateSessionAsync( + RequestHeader requestHeader, + ApplicationDescription clientDescription, + string serverUri, + string endpointUrl, + string sessionName, + byte[] clientNonce, + byte[] clientCertificate, + double requestedSessionTimeout, + uint maxResponseMessageSize, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_ActivateSession) @@ -631,6 +1121,28 @@ public virtual ResponseHeader ActivateSession( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_ActivateSession_ASYNC) + /// + /// Invokes the ActivateSession service using async Task based request. + /// + public virtual async Task ActivateSessionAsync( + RequestHeader requestHeader, + SignatureData clientSignature, + SignedSoftwareCertificateCollection clientSoftwareCertificates, + StringCollection localeIds, + ExtensionObject userIdentityToken, + SignatureData userTokenSignature, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_CloseSession) @@ -648,6 +1160,24 @@ public virtual ResponseHeader CloseSession( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_CloseSession_ASYNC) + /// + /// Invokes the CloseSession service using async Task based request. + /// + public virtual async Task CloseSessionAsync( + RequestHeader requestHeader, + bool deleteSubscriptions, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Cancel) @@ -667,6 +1197,24 @@ public virtual ResponseHeader Cancel( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Cancel_ASYNC) + /// + /// Invokes the Cancel service using async Task based request. + /// + public virtual async Task CancelAsync( + RequestHeader requestHeader, + uint requestHandle, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_AddNodes) @@ -688,6 +1236,24 @@ public virtual ResponseHeader AddNodes( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_AddNodes_ASYNC) + /// + /// Invokes the AddNodes service using async Task based request. + /// + public virtual async Task AddNodesAsync( + RequestHeader requestHeader, + AddNodesItemCollection nodesToAdd, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_AddReferences) @@ -709,6 +1275,24 @@ public virtual ResponseHeader AddReferences( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_AddReferences_ASYNC) + /// + /// Invokes the AddReferences service using async Task based request. + /// + public virtual async Task AddReferencesAsync( + RequestHeader requestHeader, + AddReferencesItemCollection referencesToAdd, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_DeleteNodes) @@ -730,6 +1314,24 @@ public virtual ResponseHeader DeleteNodes( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_DeleteNodes_ASYNC) + /// + /// Invokes the DeleteNodes service using async Task based request. + /// + public virtual async Task DeleteNodesAsync( + RequestHeader requestHeader, + DeleteNodesItemCollection nodesToDelete, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_DeleteReferences) @@ -751,6 +1353,24 @@ public virtual ResponseHeader DeleteReferences( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_DeleteReferences_ASYNC) + /// + /// Invokes the DeleteReferences service using async Task based request. + /// + public virtual async Task DeleteReferencesAsync( + RequestHeader requestHeader, + DeleteReferencesItemCollection referencesToDelete, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Browse) @@ -774,6 +1394,26 @@ public virtual ResponseHeader Browse( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Browse_ASYNC) + /// + /// Invokes the Browse service using async Task based request. + /// + public virtual async Task BrowseAsync( + RequestHeader requestHeader, + ViewDescription view, + uint requestedMaxReferencesPerNode, + BrowseDescriptionCollection nodesToBrowse, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_BrowseNext) @@ -796,6 +1436,25 @@ public virtual ResponseHeader BrowseNext( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_BrowseNext_ASYNC) + /// + /// Invokes the BrowseNext service using async Task based request. + /// + public virtual async Task BrowseNextAsync( + RequestHeader requestHeader, + bool releaseContinuationPoints, + ByteStringCollection continuationPoints, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) @@ -817,6 +1476,24 @@ public virtual ResponseHeader TranslateBrowsePathsToNodeIds( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds_ASYNC) + /// + /// Invokes the TranslateBrowsePathsToNodeIds service using async Task based request. + /// + public virtual async Task TranslateBrowsePathsToNodeIdsAsync( + RequestHeader requestHeader, + BrowsePathCollection browsePaths, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_RegisterNodes) @@ -836,6 +1513,24 @@ public virtual ResponseHeader RegisterNodes( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_RegisterNodes_ASYNC) + /// + /// Invokes the RegisterNodes service using async Task based request. + /// + public virtual async Task RegisterNodesAsync( + RequestHeader requestHeader, + NodeIdCollection nodesToRegister, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_UnregisterNodes) @@ -853,6 +1548,24 @@ public virtual ResponseHeader UnregisterNodes( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_UnregisterNodes_ASYNC) + /// + /// Invokes the UnregisterNodes service using async Task based request. + /// + public virtual async Task UnregisterNodesAsync( + RequestHeader requestHeader, + NodeIdCollection nodesToUnregister, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_QueryFirst) @@ -884,6 +1597,28 @@ public virtual ResponseHeader QueryFirst( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_QueryFirst_ASYNC) + /// + /// Invokes the QueryFirst service using async Task based request. + /// + public virtual async Task QueryFirstAsync( + RequestHeader requestHeader, + ViewDescription view, + NodeTypeDescriptionCollection nodeTypes, + ContentFilter filter, + uint maxDataSetsToReturn, + uint maxReferencesToReturn, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_QueryNext) @@ -906,6 +1641,25 @@ public virtual ResponseHeader QueryNext( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_QueryNext_ASYNC) + /// + /// Invokes the QueryNext service using async Task based request. + /// + public virtual async Task QueryNextAsync( + RequestHeader requestHeader, + bool releaseContinuationPoint, + byte[] continuationPoint, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Read) @@ -929,6 +1683,26 @@ public virtual ResponseHeader Read( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Read_ASYNC) + /// + /// Invokes the Read service using async Task based request. + /// + public virtual async Task ReadAsync( + RequestHeader requestHeader, + double maxAge, + TimestampsToReturn timestampsToReturn, + ReadValueIdCollection nodesToRead, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_HistoryRead) @@ -953,6 +1727,27 @@ public virtual ResponseHeader HistoryRead( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_HistoryRead_ASYNC) + /// + /// Invokes the HistoryRead service using async Task based request. + /// + public virtual async Task HistoryReadAsync( + RequestHeader requestHeader, + ExtensionObject historyReadDetails, + TimestampsToReturn timestampsToReturn, + bool releaseContinuationPoints, + HistoryReadValueIdCollection nodesToRead, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Write) @@ -974,6 +1769,24 @@ public virtual ResponseHeader Write( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Write_ASYNC) + /// + /// Invokes the Write service using async Task based request. + /// + public virtual async Task WriteAsync( + RequestHeader requestHeader, + WriteValueCollection nodesToWrite, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_HistoryUpdate) @@ -995,6 +1808,24 @@ public virtual ResponseHeader HistoryUpdate( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_HistoryUpdate_ASYNC) + /// + /// Invokes the HistoryUpdate service using async Task based request. + /// + public virtual async Task HistoryUpdateAsync( + RequestHeader requestHeader, + ExtensionObjectCollection historyUpdateDetails, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Call) @@ -1016,6 +1847,24 @@ public virtual ResponseHeader Call( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Call_ASYNC) + /// + /// Invokes the Call service using async Task based request. + /// + public virtual async Task CallAsync( + RequestHeader requestHeader, + CallMethodRequestCollection methodsToCall, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_CreateMonitoredItems) @@ -1039,6 +1888,26 @@ public virtual ResponseHeader CreateMonitoredItems( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_CreateMonitoredItems_ASYNC) + /// + /// Invokes the CreateMonitoredItems service using async Task based request. + /// + public virtual async Task CreateMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + TimestampsToReturn timestampsToReturn, + MonitoredItemCreateRequestCollection itemsToCreate, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_ModifyMonitoredItems) @@ -1062,6 +1931,26 @@ public virtual ResponseHeader ModifyMonitoredItems( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_ModifyMonitoredItems_ASYNC) + /// + /// Invokes the ModifyMonitoredItems service using async Task based request. + /// + public virtual async Task ModifyMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + TimestampsToReturn timestampsToReturn, + MonitoredItemModifyRequestCollection itemsToModify, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_SetMonitoringMode) @@ -1085,6 +1974,26 @@ public virtual ResponseHeader SetMonitoringMode( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_SetMonitoringMode_ASYNC) + /// + /// Invokes the SetMonitoringMode service using async Task based request. + /// + public virtual async Task SetMonitoringModeAsync( + RequestHeader requestHeader, + uint subscriptionId, + MonitoringMode monitoringMode, + UInt32Collection monitoredItemIds, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_SetTriggering) @@ -1113,6 +2022,27 @@ public virtual ResponseHeader SetTriggering( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_SetTriggering_ASYNC) + /// + /// Invokes the SetTriggering service using async Task based request. + /// + public virtual async Task SetTriggeringAsync( + RequestHeader requestHeader, + uint subscriptionId, + uint triggeringItemId, + UInt32Collection linksToAdd, + UInt32Collection linksToRemove, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_DeleteMonitoredItems) @@ -1135,6 +2065,25 @@ public virtual ResponseHeader DeleteMonitoredItems( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_DeleteMonitoredItems_ASYNC) + /// + /// Invokes the DeleteMonitoredItems service using async Task based request. + /// + public virtual async Task DeleteMonitoredItemsAsync( + RequestHeader requestHeader, + uint subscriptionId, + UInt32Collection monitoredItemIds, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_CreateSubscription) @@ -1165,6 +2114,29 @@ public virtual ResponseHeader CreateSubscription( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_CreateSubscription_ASYNC) + /// + /// Invokes the CreateSubscription service using async Task based request. + /// + public virtual async Task CreateSubscriptionAsync( + RequestHeader requestHeader, + double requestedPublishingInterval, + uint requestedLifetimeCount, + uint requestedMaxKeepAliveCount, + uint maxNotificationsPerPublish, + bool publishingEnabled, + byte priority, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_ModifySubscription) @@ -1193,6 +2165,29 @@ public virtual ResponseHeader ModifySubscription( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_ModifySubscription_ASYNC) + /// + /// Invokes the ModifySubscription service using async Task based request. + /// + public virtual async Task ModifySubscriptionAsync( + RequestHeader requestHeader, + uint subscriptionId, + double requestedPublishingInterval, + uint requestedLifetimeCount, + uint requestedMaxKeepAliveCount, + uint maxNotificationsPerPublish, + byte priority, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_SetPublishingMode) @@ -1215,6 +2210,25 @@ public virtual ResponseHeader SetPublishingMode( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_SetPublishingMode_ASYNC) + /// + /// Invokes the SetPublishingMode service using async Task based request. + /// + public virtual async Task SetPublishingModeAsync( + RequestHeader requestHeader, + bool publishingEnabled, + UInt32Collection subscriptionIds, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Publish) @@ -1244,6 +2258,24 @@ public virtual ResponseHeader Publish( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Publish_ASYNC) + /// + /// Invokes the Publish service using async Task based request. + /// + public virtual async Task PublishAsync( + RequestHeader requestHeader, + SubscriptionAcknowledgementCollection subscriptionAcknowledgements, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_Republish) @@ -1264,6 +2296,25 @@ public virtual ResponseHeader Republish( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_Republish_ASYNC) + /// + /// Invokes the Republish service using async Task based request. + /// + public virtual async Task RepublishAsync( + RequestHeader requestHeader, + uint subscriptionId, + uint retransmitSequenceNumber, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_TransferSubscriptions) @@ -1286,6 +2337,25 @@ public virtual ResponseHeader TransferSubscriptions( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_TransferSubscriptions_ASYNC) + /// + /// Invokes the TransferSubscriptions service using async Task based request. + /// + public virtual async Task TransferSubscriptionsAsync( + RequestHeader requestHeader, + UInt32Collection subscriptionIds, + bool sendInitialValues, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_DeleteSubscriptions) @@ -1307,6 +2377,24 @@ public virtual ResponseHeader DeleteSubscriptions( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_DeleteSubscriptions_ASYNC) + /// + /// Invokes the DeleteSubscriptions service using async Task based request. + /// + public virtual async Task DeleteSubscriptionsAsync( + RequestHeader requestHeader, + UInt32Collection subscriptionIds, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif } #endregion @@ -1329,6 +2417,18 @@ ResponseHeader FindServers( StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers); + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service using async Task based request. + /// + Task FindServersAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection serverUris, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) @@ -1342,6 +2442,18 @@ ResponseHeader FindServersOnNetwork( StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers); + + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service using async Task based request. + /// + Task FindServersOnNetworkAsync( + RequestHeader requestHeader, + uint startingRecordId, + uint maxRecordsToReturn, + StringCollection serverCapabilityFilter, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_GetEndpoints) @@ -1354,6 +2466,18 @@ ResponseHeader GetEndpoints( StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints); + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service using async Task based request. + /// + Task GetEndpointsAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection profileUris, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_RegisterServer) @@ -1363,6 +2487,16 @@ ResponseHeader GetEndpoints( ResponseHeader RegisterServer( RequestHeader requestHeader, RegisteredServer server); + + #if (!OPCUA_EXCLUDE_RegisterServer_ASYNC) + /// + /// Invokes the RegisterServer service using async Task based request. + /// + Task RegisterServerAsync( + RequestHeader requestHeader, + RegisteredServer server, + CancellationToken ct); + #endif #endif #if (!OPCUA_EXCLUDE_RegisterServer2) @@ -1375,6 +2509,17 @@ ResponseHeader RegisterServer2( ExtensionObjectCollection discoveryConfiguration, out StatusCodeCollection configurationResults, out DiagnosticInfoCollection diagnosticInfos); + + #if (!OPCUA_EXCLUDE_RegisterServer2_ASYNC) + /// + /// Invokes the RegisterServer2 service using async Task based request. + /// + Task RegisterServer2Async( + RequestHeader requestHeader, + RegisteredServer server, + ExtensionObjectCollection discoveryConfiguration, + CancellationToken ct); + #endif #endif } #endregion @@ -1406,6 +2551,26 @@ public virtual ResponseHeader FindServers( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_FindServers_ASYNC) + /// + /// Invokes the FindServers service using async Task based request. + /// + public virtual async Task FindServersAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection serverUris, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) @@ -1429,6 +2594,26 @@ public virtual ResponseHeader FindServersOnNetwork( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_FindServersOnNetwork_ASYNC) + /// + /// Invokes the FindServersOnNetwork service using async Task based request. + /// + public virtual async Task FindServersOnNetworkAsync( + RequestHeader requestHeader, + uint startingRecordId, + uint maxRecordsToReturn, + StringCollection serverCapabilityFilter, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_GetEndpoints) @@ -1450,6 +2635,26 @@ public virtual ResponseHeader GetEndpoints( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_GetEndpoints_ASYNC) + /// + /// Invokes the GetEndpoints service using async Task based request. + /// + public virtual async Task GetEndpointsAsync( + RequestHeader requestHeader, + string endpointUrl, + StringCollection localeIds, + StringCollection profileUris, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_RegisterServer) @@ -1467,6 +2672,24 @@ public virtual ResponseHeader RegisterServer( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_RegisterServer_ASYNC) + /// + /// Invokes the RegisterServer service using async Task based request. + /// + public virtual async Task RegisterServerAsync( + RequestHeader requestHeader, + RegisteredServer server, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif #if (!OPCUA_EXCLUDE_RegisterServer2) @@ -1489,6 +2712,25 @@ public virtual ResponseHeader RegisterServer2( return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } + + #if (!OPCUA_EXCLUDE_RegisterServer2_ASYNC) + /// + /// Invokes the RegisterServer2 service using async Task based request. + /// + public virtual async Task RegisterServer2Async( + RequestHeader requestHeader, + RegisteredServer server, + ExtensionObjectCollection discoveryConfiguration, + CancellationToken ct) + { + ValidateRequest(requestHeader); + + // Insert implementation. + await Task.CompletedTask; + + throw new ServiceResultException(StatusCodes.BadServiceUnsupported); + } + #endif #endif } #endregion diff --git a/Tests/Opc.Ua.Client.ComplexTypes.Tests/Opc.Ua.Client.ComplexTypes.Tests.csproj b/Tests/Opc.Ua.Client.ComplexTypes.Tests/Opc.Ua.Client.ComplexTypes.Tests.csproj index 85926c0212..02ff7de34a 100644 --- a/Tests/Opc.Ua.Client.ComplexTypes.Tests/Opc.Ua.Client.ComplexTypes.Tests.csproj +++ b/Tests/Opc.Ua.Client.ComplexTypes.Tests/Opc.Ua.Client.ComplexTypes.Tests.csproj @@ -1,43 +1,36 @@ - - + Exe $(TestsTargetFrameworks) false - - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - $(DefineConstants);ECC_SUPPORT - - @@ -45,9 +38,7 @@ - - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Client.Tests/Opc.Ua.Client.Tests.csproj b/Tests/Opc.Ua.Client.Tests/Opc.Ua.Client.Tests.csproj index edfd094050..0971c8593a 100644 --- a/Tests/Opc.Ua.Client.Tests/Opc.Ua.Client.Tests.csproj +++ b/Tests/Opc.Ua.Client.Tests/Opc.Ua.Client.Tests.csproj @@ -1,5 +1,4 @@ - - + $(DefineConstants);CLIENT_ASYNC Exe @@ -11,8 +10,6 @@ - - $(DefineConstants);ECC_SUPPORT @@ -21,15 +18,15 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -45,5 +42,4 @@ - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Configuration.Tests/Opc.Ua.Configuration.Tests.csproj b/Tests/Opc.Ua.Configuration.Tests/Opc.Ua.Configuration.Tests.csproj index 2f8317caf9..ed5ae65844 100644 --- a/Tests/Opc.Ua.Configuration.Tests/Opc.Ua.Configuration.Tests.csproj +++ b/Tests/Opc.Ua.Configuration.Tests/Opc.Ua.Configuration.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -11,8 +10,6 @@ - - $(DefineConstants);ECC_SUPPORT @@ -21,21 +18,21 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + @@ -51,6 +48,4 @@ PreserveNewest - - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Core.Tests/Opc.Ua.Core.Tests.csproj b/Tests/Opc.Ua.Core.Tests/Opc.Ua.Core.Tests.csproj index f139ba47a1..d0d0bec765 100644 --- a/Tests/Opc.Ua.Core.Tests/Opc.Ua.Core.Tests.csproj +++ b/Tests/Opc.Ua.Core.Tests/Opc.Ua.Core.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -9,29 +8,27 @@ - - - - - - - + + + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - $(DefineConstants);ECC_SUPPORT @@ -44,23 +41,28 @@ - + + + + Always + + + - + Always - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Core.Tests/Security/Certificates/Assets/Test_chain.pem b/Tests/Opc.Ua.Core.Tests/Security/Certificates/Assets/Test_chain.pem new file mode 100644 index 0000000000..c3d24a8eed --- /dev/null +++ b/Tests/Opc.Ua.Core.Tests/Security/Certificates/Assets/Test_chain.pem @@ -0,0 +1,57 @@ +-----BEGIN CERTIFICATE----- +MIIDVjCCAj6gAwIBAgIIUbtPdFABJa0wDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjExMDBaFw0yNjA2MDkxMjExMDBaMBoxCzAJBgNVBAYTAkRFMQswCQYDVQQG +EwJERTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKv6Z/f5gwi7nI6p +NcQJR14K60Oz/H0tew5fawnFV/EnzRSpC/yDjFMIkRrICfRCt5HVFCOgYGk9WJFI +D3pPK1u7RqeJIuaxAQXIIK/p3Z/12Yb6ywx1RcunPHefpOB9Wky5ErPNcDpDEPpp +rzFnFOX5x5Pry67I5KRnW1d5fTIhOXB4K6JwdmKC0kWBsxygw0ClGXP6omCn0omn +KTntvUC0LvhsKBOXVtzg64lsiINM/dvXl4ckD57+4mP8dATaX2xRKxnHMGo3X/81 +0mVjZqg78XCNAGizRXG2nMtsQHJgu9RsXOelm0grDtjf0AaNtZsiMVMcyqI+RpwS +LscMa6sCAwEAAaOBuTCBtjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSTys4eoees +f55JIjcWLTDibxAZXTAfBgNVHSMEGDAWgBRb1tlG4jQzQZ3i86h7jVWEpPUPYDAL +BgNVHQ8EBAMCA+gwEwYDVR0lBAwwCgYIKwYBBQUHAwEwEQYDVR0RBAowCIIGY29w +eWNuMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRp +ZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQBoNjS46HdAPMpQTysfq4YRToMdtp+N +tsTIRbcZH0LdUyKM3mTvmJ/VfwE9iHe+OcOisaknG0mQhnnGjm4hUbz+emRX9FES +VdIXxjXo2sNLjcpHV/U+EKRvOSoyv90aVqbLDB8ERc4+eLjq6SyfAKVg1Lg+sFE7 +CTQI4BNWQ2lxoEhgyPHffvvF+45Iz3gUqE0wzhWHXEQbV/ATrAF5heVbUgZp+ln3 +p2toGVz0btIEmENeorbXUBAtvL21Vi8jsO/rjzLETQVzPiYWrs0KbiPXczGXY9s8 +GcV6Rllc6gArD8hy7IYHTjpiW27eqTCBygaCeoclANgPRqEyNhmFv9iu +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIIbkOFpnveRQUwDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjExMDBaFw0zNTA2MDkxMjEwMDBaMAAwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCmBtRvcMknbHvnuD9CwODyfj0IH0IbkU+NZpmdnu/znIgZKN9K +1nrG2opwnQBcjcuK8OiwaYRksPY1lKhlvXSRtRiF/XQvh67GLqSDLEPxtqwPaxp0 +Tjqmwo/rnjNYkDzkKG6J9EOoOXECgTdG/FqB8yuBQlZ1QROJH6usHv7AI89R7Csx +a494iJqMko4keof7H6VEba+qkWSuWgOsO6EcyFIB6Oawbodi30jxzZKXdRv4xXJI +YGgB5RS9Te4y1t8pHEArUOnHtNzqJQkRRyhBFSqPTV2kWhLESOJlE0KWIegyCpoB ++SRDUcL4ClekG9swRCjOPp/2NO5bDfQ7WtXfAgMBAAGjgZQwgZEwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUW9bZRuI0M0Gd4vOoe41VhKT1D2AwHwYDVR0jBBgw +FoAUdRBdpMrT6j9GRvsJOjrxc6z5VzIwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIB +AQQEAwIABzAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3 +DQEBCwUAA4IBAQCj/y96rCA+jKeHivB04kDTsXoSyXNkRsLWHaySfQwhDgdLo60j +NXbAYWqY1gUAR1TIoWg1RZPNxb0mZA6n+EPjPMYaJ+ynRv7mZhm9fGwibIjF4M5J +m10No8++F1W9XWJydH5YaIpHmnEHGbqopbiWsE/4LBT2tUDKvTTlmLLL9UBBeEQg +hiEizndQc1KJ1xKoNlBycdNHueaFs0n1V8C/RbZB2GtZ9VqmhJePeyudphQmsiuD +dRMoKbv/lLyKpnx9Jili9Z5lAAtXA3is+5Kof8w6wmb8sdmg9XQL+Ukjv6HoTdLd +I4vuta0r5f7Br1gqzeZ62NxgamFxviKV+2LR +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIC9DCCAdygAwIBAgIIAp1gM3DCCuIwDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjEwMDBaFw0zNTA2MDkxMjEwMDBaMAAwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCut3bZAUdrdmsXN4dx4nJpg9IdRcnqWjjDRJFVlBOtwaPTtt7r +Rc+YqDU0HWL0uYiX7/VPJfXJPWYVGIV/NW24DnUd3nC/J2ELryUcudn5TM3btlbT +jxMMYKOat7CnFDnFYfUIjFPeTr/jqq8My8NozqZUl1YHPTa5ta2xLkEGWZE5T8NL +3dY8Y6pYeq1BfHtaOLzplY/oDnMBKnb905VjLLXFS4mrLOpE9wlSmMvh0REJ3HVx +0yGV7csj6akvtD+swZWccrU+/MDU3W7YDO08H2oG5Zkuxxb7JGbyVfgOwrR1/NR1 +cqTeSZvBUOtETt70BSfYO1OfWRxncrSQZu3pAgMBAAGjcjBwMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHUQXaTK0+o/Rkb7CTo68XOs+VcyMAsGA1UdDwQEAwIB +BjARBglghkgBhvhCAQEEBAMCAAcwHgYJYIZIAYb4QgENBBEWD3hjYSBjZXJ0aWZp +Y2F0ZTANBgkqhkiG9w0BAQsFAAOCAQEApD3MhDcDPCzlE529kd3zgmiIvYtDjh2S +Xig48hHXZ0g+w/KdMcoOfN3+7a5CccBewGitYTeF+r2ejUCmZYp5zTtB9E57Q8hr +vVV95TKFfBAMWGHnYD68tknXcYZlPW7Suq0SnRMnpN8y0p2KWICH6NZ4qHwVa4x7 +vch/oDtFXY1go1wlLy89eCFH7fQxSsYvkMvc78t+mLyxGLpwXI0KENgXvEAvcLKp +ptG3iTMwJGRdjQ/SSJmyNfRjlQNT0Jm73v9XeOobra7g4kRzuorpBAt1kVwxbfqB +nEAozeUTBWB/nDBXsX/ol+YFFbLtc30w6bUE+400/S2pi5J+ymuQPA== +-----END CERTIFICATE----- diff --git a/Tests/Opc.Ua.Core.Tests/Security/Certificates/CertificateStoreTest.cs b/Tests/Opc.Ua.Core.Tests/Security/Certificates/CertificateStoreTest.cs index 851d752d65..5e19bf8598 100644 --- a/Tests/Opc.Ua.Core.Tests/Security/Certificates/CertificateStoreTest.cs +++ b/Tests/Opc.Ua.Core.Tests/Security/Certificates/CertificateStoreTest.cs @@ -207,6 +207,121 @@ public async Task VerifyAppCertDirectoryStore() } } + /// + /// Verify PEM Certs are stored in Directory Store + /// + [Test, Order(25)] + public async Task VerifyPEMSupportDirectoryStore() + { +#if !NET8_0_OR_GREATER + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + Assert.Ignore("Skipped due to https://github.com/dotnet/runtime/issues/82682"); + } +#endif + // pki directory root for app cert + var pkiRoot = Path.GetTempPath() + Path.GetRandomFileName() + Path.DirectorySeparatorChar; + var storePath = pkiRoot + "trusted"; + var certPath = storePath + Path.DirectorySeparatorChar + "certs"; + var privatePath = storePath + Path.DirectorySeparatorChar + "private"; + + Directory.CreateDirectory(certPath); + Directory.CreateDirectory(privatePath); + + var store = new DirectoryCertificateStore(false); + + try + { + store.Open(storePath, false); + //Add Test PEM Chain + File.Copy(TestUtils.EnumerateTestAssets("Test_chain.pem").First(), certPath + Path.DirectorySeparatorChar + "Test_chain.pem"); + + var certificates = await store.Enumerate(); + + Assert.AreEqual(3, certificates.Count); + + //Add private key for leaf cert to private folder + File.WriteAllBytes(privatePath + Path.DirectorySeparatorChar + "Test_chain.pem", DecryptKeyPairPemBase64()); + + //refresh store to obtain private key + await store.Enumerate(); + + + //Load private key + var cert = await store.LoadPrivateKey("14A630438BF775E19169D3279069BBF20419EF84", null, null, null, null); + + Assert.NotNull(cert); + Assert.True(cert.HasPrivateKey); + + // remove leaf cert + await store.Delete("14A630438BF775E19169D3279069BBF20419EF84"); + + //remove private key + File.Delete(privatePath + Path.DirectorySeparatorChar + "Test_chain.pem"); + + certificates = await store.Enumerate(); + + Assert.AreEqual(2, certificates.Count); + Assert.IsEmpty(certificates.Find(X509FindType.FindByThumbprint, "14A630438BF775E19169D3279069BBF20419EF84", false)); + } + finally + { + Directory.Delete(storePath, true); + } + } + + /// + /// Verify PEM Certs with private key in single file are stored in Directory Store + /// + [Test, Order(25)] + public async Task VerifyPEMSupportPrivateKeyPairDirectoryStore() + { +#if !NET8_0_OR_GREATER + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + Assert.Ignore("Skipped due to https://github.com/dotnet/runtime/issues/82682"); + } +#endif + // pki directory root for app cert + var pkiRoot = Path.GetTempPath() + Path.GetRandomFileName() + Path.DirectorySeparatorChar; + var storePath = pkiRoot + "trusted"; + var certPath = storePath + Path.DirectorySeparatorChar + "certs"; + var privatePath = storePath + Path.DirectorySeparatorChar + "private"; + + Directory.CreateDirectory(certPath); + Directory.CreateDirectory(privatePath); + + var store = new DirectoryCertificateStore(false); + + try + { + store.Open(storePath, false); + // Add leaf cert with private key + File.WriteAllBytes(certPath + Path.DirectorySeparatorChar + "Test_keyPair.pem", DecryptKeyPairPemBase64()); + + var certificates = await store.Enumerate(); + + Assert.AreEqual(1, certificates.Count); + + Assert.NotNull(certificates.Find(X509FindType.FindByThumbprint, "14A630438BF775E19169D3279069BBF20419EF84", false)); + //Load private key + var cert = await store.LoadPrivateKey("14A630438BF775E19169D3279069BBF20419EF84", null, null, null, null); + + Assert.NotNull(cert); + Assert.True(cert.HasPrivateKey); + + // remove leaf cert + await store.Delete("14A630438BF775E19169D3279069BBF20419EF84"); + + //ensure private key is removed + Assert.False(File.Exists(certPath + Path.DirectorySeparatorChar + "Test_keyPair.pem")); + } + finally + { + Directory.Delete(storePath, true); + } + } + /// /// Verify that old invalid cert stores throw. /// @@ -462,6 +577,23 @@ private static string[] GetCertStores() #region Private Fields private X509Certificate2 m_testCertificate; private X509Certificate2 m_testCertificate2; + private const string s_keyPairPemBase64Encrypted = "4FJ9EkT20K8SB/QHUSU8/gV70D1LrJ7scXagGkJUc8gKK1Fk85hdNdOuHKV5hBkzpeod5VsC3ino1rg++1FhXVJ/DSLntQkbWzNC6Hhl/CDmBt5aMzJW+6HhRvC/pE1FRHJkWdkQijUdXL5hw3oos8PZfXN/B0OEsGQPvxYJ66g0Z9U2jusPW81Q+ps1cRy2wcoPAllwB4tEawrAop5+71jZL+EOVCxQ5i0VBFDgCATFIT6zyFfQ4jKD1Uk7bxNm2Mcb04eyUI+dsR1cYUuW8nisesVLXPkENpZYMAXBiZMB58pNJQuhZZk0iw8muWonbzA0n9hhAN28dX/tnc6HcjSn4TSxnRUpbsSAUnT66TIoxgAb/1x9Q4LihjV9AimLFu9RCTJ26EjECoAhzFBIvy1Wh2ReAceveJLauyQnSlpmsHB/K4ePmKQGLw+0Ce8qpVr8f5bAvzK6dbDVlJzvoO0E471U8RiyL6Sp2xVtvYYSo5FeTQdxBxRerSA2GhXUohevww06cauCfamNy7yBLUC+vOC5/teXDHBiPdGJFzpPPzyB5xMgCAWjeBoyyKYXgrL5ivS/rNUCMK/0XXLxSAujYUTcnnuCE+FVbVDbNdkvuSC1aKMAX6RLxZFOj7oovHChrUf1+P5srFnLsomF8/8ucoiyFFjJcVi2FQ/2pw828o/Oh9hLdOUlcVj40OuaUyymmChREM45HaxLC0As+SWKmc572HV7MUHOgWUnt0jVbFO6gR8CK3nspfV5PxNyeRU2UnGW6DBam81NLwGIWOxsVvYAiterStmcDppb5RBrFUffL46iEo8r5hij/u47k3nXebeoqtl/Uv8QCwaX2cJoHRX1+9LQc5FJKojBqcX8n0onoWzW4vfqUWwgjedFWGU09klXYQFBn/OmGJrjj0FqhBY/mQuuLbjslL9FmV2S+8/g7xINL20pSR+ahtGqQbuUsvodWEP2ndn5ATeVr0HY2FFsCPdBRHtHYsgxrxyMSy8DCFIKZ4PAQc1UvUokVMqNJLRnC66Px8i0OZyUHIbkEIkFMPk2duOiv6VVm8YgSL3DGkrD9ee5X4pdNzEN8TtxV0XDpeotDEcv7O2dhzmblQS9qspEfH91XOmcX/ot5wrAV0xuzyDcuAZUtly63k5q0dRzNwwZ6VeCDYRXx3A50ZViTY9CaHxeHub6H1/czVF5/0qnLeYIwSyrSGg/dGWJMQFiydgizJ6JJ3fVKIRnvkTwi3N9q+3716w3uDNCawlf7ybLHtLIuiNMz+fn4HWH8e6Gyw1iu9JmYFNRmJqcKQV+Owb7TCgLKmSqRQAAeFtCM/mj8pyHTBxfnhVFUr2aOQbCqUUTh0HonT/G/H1tz6P6VcCtR26RasKu2csDCSU6cdFxKy/SU+ecDVqIJP78Sg53iZ3Zh1FsGRFZklFPoND7Bp2q3C0khyf9jc9S9kNwv3X75ExkKWmK/psQW9Rd/wEYx5HMQns+3zNETBlcd4N/uPQQYeoT3dW+PRj6uZdvgVDLgO+MVHhCkoEHKAH3DEhudPLTeSBe1a6OrfnpwE+ln9jdf9C24ScH67ZyQmQRhp0G0fIKHHSD8XB7LPpptezUZDB4C8ShsFxewSI1RwRqr8+NwwDiJvkjN0F7GT1CoKxXu8DnhMVHPg4XNpBuklNmY7NhZiH0Kz3/r5+WxWBF3YYaAOCxstxUfiLUMFQgszUCZmTZ0ErRVeUCcrDKjqlrQcYAQW+sTDy4zKMjbvmhF3Qrl4pktA6upfu/QaukwRduoqPXHAbBV9EU6tDrF5czphIxJNCyhqUXUEsRhqBh1rAf9jD3kujtMD6bug5tPLefYWpzZC6rtGSNuuw0BuwlezxhaM+Cn4+eOYDFl3XmfwudmwurOTEuVePbBFjGQNCbP6/QkoNXNwgGohtmydkugmoQesqK+Whs9kEoGLcuYTjLJYTM1AyN2N3Ub7R4JOCOa/cEr+5YVzKXmUXpeM8nUZ8qGOHW5sZtCMEteGxVR35ondJJPEb72XjtotlaqwLbN26Q/FJGscPIfAQ2weRUXgXjZFZeFGh+GJd09xbH0jkRzAIkH5WXSuVLJRzLQk1uZ8teS+aem1+O2YC8/ZcRH7Q9FB1ECZOgfLJbNFX3EX2elhhLQD/3Za6mhok8FacHwQF/mahfEslCHKXeaMFFhIXijeIrutOG+KJvjqPAf2eK11WvqXdOlejgazP0KAZbQqKLWcFTYJMWu92k5Flf6S6hh7TLcngsZNQLVmd/42Px42Rr91IfLJdLyEENYps7k7kjZbJfs0YPKjqwkZbV6TcvBlGHZJsjNwt0GZvdK52MqqT0O2bkBIep7fn9B7psuz1GaNeec7dFvQfIA47vwcxEZfjzkGygQ2is+QjZaeMa9+k58uFCbkLwjm34SQiMl8XayPtgkU1DkVpxN7dwzuxnqG2TagDSHUfR1QoY+YoxNUwIt2GzCIXPna1S1UolHBwc/g4/RQIlaGTwesOC4kHSPoAAWS1E34K/mJP/cgEM1FsxcDo+YYdnZyKLqWRVqjuPI1DFZBhqdMPCc5xzW8onMgPQoq8OY2iHJ+oTizrFZy7NKgH52dki9pnW7GERcmBET7actjGa3WJtSO6q9xxcNUPGeE8m4ZUA/x5+7WyzgSVIRpeCNylk410Sfm/qGZJOaATKqheHu4iY/bBzWbENJXAJt9kcFViaG10pyVe88NJ5fvRwUZJcPbxg/yVBPwMEETaQu3bwpf36hT5wAkiwhucVnFM8b8RXrmYx3rFt28IKW+Kl7EJq1bqQJv6HoeFfYArH1k+mReLruGEUEWEbGLyUieuTFRVOsttNJcdzCtqMYF+CE/z0mJRZ/OLQh3QJ0evgZtK7j+sQb5y7fuw13xrRDK+N3wz545uGTu9+739ormVpKXmA1995YtxYd2kAfiZqIPbM+aeX47maKDYG6fn+AGI9KbPayi6msZl3IGOD/oZ8wDJyeUYLa9GPS+Alq/0QQxIDyCy+9q/E+MKJVghgHSfvA+q+agyGdL8rROmzeVKIz6dzuXBy9ku/n3Uw1gKRmkryw6QePIaPeH6jqSK8IbYokfC9fLA02xT8xD09vICwdgclNa/sMgyLn9b3bS8LYn7vSMNZZW3tFnFM5SMqstKGm3TJ62I2sk7wmXNIknEf6KyBjU9Nr1ktuDIUWijuHXPn69HLuhI7lcgqeOdbZXLr0kurul64puYGHHp9PotTzsxL+y+GueJF5hdj6VRDpzqPRPfGCDEpiiAA7sqmeB8+1Lf9dDQadPTM2KqZTWCclK1M5mTs0h+yxQsBX8S2GgSq6El/mfnDHgcQY5OyzOXXH+h8BT9uht0cpPfepCCZPDiAgTotdjhM1cS00xXbuqXggmt27PbgvmLLL1vDqtrgju/wytnt7Mzp38BwV4J9xPvoeGKKoLBOheZkEFn0dU0cnRX8jRPdLmr5LOcHoBCs1jQiIoTG9ikGflSo8LzQdECEBJ+BlHdMZ6dQRV0QytF/xyOylny3G0SYdvmrVMv/H12fwRVqcoSRFW6mRPqWSeJv1aHCO5M9LFXtRn/MbpvgogQqTmfSrluUVWGKEmnOH00ZnS3uyjh7G2bZI9GrEqJ4AnAW+et0s0++TVW8KAqUFBgkR9f0NIn/kYOKoXY46CafQ0pFzKgfH5c0ZvNa5m9sazdwMa4Qv1PjAYzR+/Y2fFa4goffwKnbX7nZfidmktyA8t1V8DmEt9tzEZE+WpPMFfRv/ujZkIHPy7GAFWLNFP95VbRh3ZBY/AtYF62Sn4TT+rC+V4JxfJfhs5p6SoqpAF+u8qamvP+fxQ354foMHoaGBZFqrigh1ay5XGA8pXEsBe7d4e/n/JgLAyfuiRTDv7GSGmn8Z9aUbGtVg4TtVE29fHJVD2pX8L3xtXAOqQ=="; + private static readonly byte[] s_aesKey = new byte[] { 0x13, 0x5e, 0xcf, 0xdd, 0x96, 0xf2, 0x99, 0x63, 0x9e, 0x2d, 0x50, 0x1c, 0x3a, 0xbb, 0xde, 0x02 }; // 16 bytes for AES-128 + private static readonly byte[] s_aesIV = new byte[] { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 0xEF, 0xCD, 0xAB, 0x89, 0x67, 0x45, 0x23, 0x01 }; // 16 bytes + + private static byte[] DecryptKeyPairPemBase64() + { + var encryptedBytes = Convert.FromBase64String(s_keyPairPemBase64Encrypted); + using var aes = Aes.Create(); + aes.Key = s_aesKey; + aes.IV = s_aesIV; + using var decryptor = aes.CreateDecryptor(); + using var ms = new MemoryStream(encryptedBytes); + using var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read); + using var output = new MemoryStream(); + cs.CopyTo(output); + return output.ToArray(); + } #endregion } } diff --git a/Tests/Opc.Ua.Core.Tests/Security/Certificates/TestUtils.cs b/Tests/Opc.Ua.Core.Tests/Security/Certificates/TestUtils.cs index 6cd9da7e70..a75e6072b5 100644 --- a/Tests/Opc.Ua.Core.Tests/Security/Certificates/TestUtils.cs +++ b/Tests/Opc.Ua.Core.Tests/Security/Certificates/TestUtils.cs @@ -27,6 +27,9 @@ * http://opcfoundation.org/License/MIT/1.00/ * ======================================================================*/ +using System; +using System.IO; +using System.Linq; using System.Threading.Tasks; namespace Opc.Ua.Core.Tests @@ -36,6 +39,16 @@ namespace Opc.Ua.Core.Tests /// public static class TestUtils { + public static string[] EnumerateTestAssets(string searchPattern) + { + var assetsPath = Utils.GetAbsoluteDirectoryPath ("Assets", true, true, false); + if (assetsPath != null) + { + return Directory.EnumerateFiles(assetsPath, searchPattern).ToArray(); + } + return Array.Empty(); + } + /// /// A common method to clean up the test trust list. /// diff --git a/Tests/Opc.Ua.Gds.Tests/Opc.Ua.Gds.Tests.csproj b/Tests/Opc.Ua.Gds.Tests/Opc.Ua.Gds.Tests.csproj index ef296f5d4b..73a29ba4d6 100644 --- a/Tests/Opc.Ua.Gds.Tests/Opc.Ua.Gds.Tests.csproj +++ b/Tests/Opc.Ua.Gds.Tests/Opc.Ua.Gds.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -14,8 +13,6 @@ - - $(DefineConstants);ECC_SUPPORT @@ -24,15 +21,15 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -73,5 +70,4 @@ PreserveNewest - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.PubSub.Tests/Opc.Ua.PubSub.Tests.csproj b/Tests/Opc.Ua.PubSub.Tests/Opc.Ua.PubSub.Tests.csproj index 27864b0dc1..a2f1db272a 100644 --- a/Tests/Opc.Ua.PubSub.Tests/Opc.Ua.PubSub.Tests.csproj +++ b/Tests/Opc.Ua.PubSub.Tests/Opc.Ua.PubSub.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -10,8 +9,6 @@ - - $(DefineConstants);ECC_SUPPORT @@ -20,21 +17,21 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + @@ -45,14 +42,6 @@ - - - - - - - - @@ -66,5 +55,4 @@ Always - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Security.Certificates.Tests/Assets/Test_chain.pem b/Tests/Opc.Ua.Security.Certificates.Tests/Assets/Test_chain.pem new file mode 100644 index 0000000000..c3d24a8eed --- /dev/null +++ b/Tests/Opc.Ua.Security.Certificates.Tests/Assets/Test_chain.pem @@ -0,0 +1,57 @@ +-----BEGIN CERTIFICATE----- +MIIDVjCCAj6gAwIBAgIIUbtPdFABJa0wDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjExMDBaFw0yNjA2MDkxMjExMDBaMBoxCzAJBgNVBAYTAkRFMQswCQYDVQQG +EwJERTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKv6Z/f5gwi7nI6p +NcQJR14K60Oz/H0tew5fawnFV/EnzRSpC/yDjFMIkRrICfRCt5HVFCOgYGk9WJFI +D3pPK1u7RqeJIuaxAQXIIK/p3Z/12Yb6ywx1RcunPHefpOB9Wky5ErPNcDpDEPpp +rzFnFOX5x5Pry67I5KRnW1d5fTIhOXB4K6JwdmKC0kWBsxygw0ClGXP6omCn0omn +KTntvUC0LvhsKBOXVtzg64lsiINM/dvXl4ckD57+4mP8dATaX2xRKxnHMGo3X/81 +0mVjZqg78XCNAGizRXG2nMtsQHJgu9RsXOelm0grDtjf0AaNtZsiMVMcyqI+RpwS +LscMa6sCAwEAAaOBuTCBtjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSTys4eoees +f55JIjcWLTDibxAZXTAfBgNVHSMEGDAWgBRb1tlG4jQzQZ3i86h7jVWEpPUPYDAL +BgNVHQ8EBAMCA+gwEwYDVR0lBAwwCgYIKwYBBQUHAwEwEQYDVR0RBAowCIIGY29w +eWNuMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRp +ZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQBoNjS46HdAPMpQTysfq4YRToMdtp+N +tsTIRbcZH0LdUyKM3mTvmJ/VfwE9iHe+OcOisaknG0mQhnnGjm4hUbz+emRX9FES +VdIXxjXo2sNLjcpHV/U+EKRvOSoyv90aVqbLDB8ERc4+eLjq6SyfAKVg1Lg+sFE7 +CTQI4BNWQ2lxoEhgyPHffvvF+45Iz3gUqE0wzhWHXEQbV/ATrAF5heVbUgZp+ln3 +p2toGVz0btIEmENeorbXUBAtvL21Vi8jsO/rjzLETQVzPiYWrs0KbiPXczGXY9s8 +GcV6Rllc6gArD8hy7IYHTjpiW27eqTCBygaCeoclANgPRqEyNhmFv9iu +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDFzCCAf+gAwIBAgIIbkOFpnveRQUwDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjExMDBaFw0zNTA2MDkxMjEwMDBaMAAwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCmBtRvcMknbHvnuD9CwODyfj0IH0IbkU+NZpmdnu/znIgZKN9K +1nrG2opwnQBcjcuK8OiwaYRksPY1lKhlvXSRtRiF/XQvh67GLqSDLEPxtqwPaxp0 +Tjqmwo/rnjNYkDzkKG6J9EOoOXECgTdG/FqB8yuBQlZ1QROJH6usHv7AI89R7Csx +a494iJqMko4keof7H6VEba+qkWSuWgOsO6EcyFIB6Oawbodi30jxzZKXdRv4xXJI +YGgB5RS9Te4y1t8pHEArUOnHtNzqJQkRRyhBFSqPTV2kWhLESOJlE0KWIegyCpoB ++SRDUcL4ClekG9swRCjOPp/2NO5bDfQ7WtXfAgMBAAGjgZQwgZEwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUW9bZRuI0M0Gd4vOoe41VhKT1D2AwHwYDVR0jBBgw +FoAUdRBdpMrT6j9GRvsJOjrxc6z5VzIwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIB +AQQEAwIABzAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3 +DQEBCwUAA4IBAQCj/y96rCA+jKeHivB04kDTsXoSyXNkRsLWHaySfQwhDgdLo60j +NXbAYWqY1gUAR1TIoWg1RZPNxb0mZA6n+EPjPMYaJ+ynRv7mZhm9fGwibIjF4M5J +m10No8++F1W9XWJydH5YaIpHmnEHGbqopbiWsE/4LBT2tUDKvTTlmLLL9UBBeEQg +hiEizndQc1KJ1xKoNlBycdNHueaFs0n1V8C/RbZB2GtZ9VqmhJePeyudphQmsiuD +dRMoKbv/lLyKpnx9Jili9Z5lAAtXA3is+5Kof8w6wmb8sdmg9XQL+Ukjv6HoTdLd +I4vuta0r5f7Br1gqzeZ62NxgamFxviKV+2LR +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIC9DCCAdygAwIBAgIIAp1gM3DCCuIwDQYJKoZIhvcNAQELBQAwADAeFw0yNTA2 +MDkxMjEwMDBaFw0zNTA2MDkxMjEwMDBaMAAwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCut3bZAUdrdmsXN4dx4nJpg9IdRcnqWjjDRJFVlBOtwaPTtt7r +Rc+YqDU0HWL0uYiX7/VPJfXJPWYVGIV/NW24DnUd3nC/J2ELryUcudn5TM3btlbT +jxMMYKOat7CnFDnFYfUIjFPeTr/jqq8My8NozqZUl1YHPTa5ta2xLkEGWZE5T8NL +3dY8Y6pYeq1BfHtaOLzplY/oDnMBKnb905VjLLXFS4mrLOpE9wlSmMvh0REJ3HVx +0yGV7csj6akvtD+swZWccrU+/MDU3W7YDO08H2oG5Zkuxxb7JGbyVfgOwrR1/NR1 +cqTeSZvBUOtETt70BSfYO1OfWRxncrSQZu3pAgMBAAGjcjBwMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHUQXaTK0+o/Rkb7CTo68XOs+VcyMAsGA1UdDwQEAwIB +BjARBglghkgBhvhCAQEEBAMCAAcwHgYJYIZIAYb4QgENBBEWD3hjYSBjZXJ0aWZp +Y2F0ZTANBgkqhkiG9w0BAQsFAAOCAQEApD3MhDcDPCzlE529kd3zgmiIvYtDjh2S +Xig48hHXZ0g+w/KdMcoOfN3+7a5CccBewGitYTeF+r2ejUCmZYp5zTtB9E57Q8hr +vVV95TKFfBAMWGHnYD68tknXcYZlPW7Suq0SnRMnpN8y0p2KWICH6NZ4qHwVa4x7 +vch/oDtFXY1go1wlLy89eCFH7fQxSsYvkMvc78t+mLyxGLpwXI0KENgXvEAvcLKp +ptG3iTMwJGRdjQ/SSJmyNfRjlQNT0Jm73v9XeOobra7g4kRzuorpBAt1kVwxbfqB +nEAozeUTBWB/nDBXsX/ol+YFFbLtc30w6bUE+400/S2pi5J+ymuQPA== +-----END CERTIFICATE----- diff --git a/Tests/Opc.Ua.Security.Certificates.Tests/Opc.Ua.Security.Certificates.Tests.csproj b/Tests/Opc.Ua.Security.Certificates.Tests/Opc.Ua.Security.Certificates.Tests.csproj index 6e3a88efd9..1aa24d206b 100644 --- a/Tests/Opc.Ua.Security.Certificates.Tests/Opc.Ua.Security.Certificates.Tests.csproj +++ b/Tests/Opc.Ua.Security.Certificates.Tests/Opc.Ua.Security.Certificates.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -10,32 +9,27 @@ - - $(DefineConstants);ECC_SUPPORT - - - - - - - - + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + @@ -52,5 +46,4 @@ Always - - + \ No newline at end of file diff --git a/Tests/Opc.Ua.Security.Certificates.Tests/PEMTests.cs b/Tests/Opc.Ua.Security.Certificates.Tests/PEMTests.cs new file mode 100644 index 0000000000..dba7c5f6cf --- /dev/null +++ b/Tests/Opc.Ua.Security.Certificates.Tests/PEMTests.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Security.Cryptography; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading.Tasks; +using NUnit.Framework; +using Opc.Ua.Tests; +using Assert = NUnit.Framework.Legacy.ClassicAssert; + +namespace Opc.Ua.Security.Certificates.Tests +{ + [TestFixture, Category("PEM")] + public class PEMTests + { + [Test] + public void ImportCertificateChainFromPem() + { +#if !NET8_0_OR_GREATER + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + Assert.Ignore("Skipped due to https://github.com/dotnet/runtime/issues/82682"); + } +#endif + // Arrange + var file = File.ReadAllBytes(TestUtils.EnumerateTestAssets("Test_chain.pem").First()); + + + // Act + var certs = PEMReader.ImportPublicKeysFromPEM(file); + + // Assert + Assert.IsNotNull(certs, "Certificates collection should not be null."); + Assert.IsNotEmpty(certs, "Certificates collection should not be empty."); + Assert.AreEqual(3, certs.Count, "Expected 3 certificates in the collection."); + Assert.NotNull(certs.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "029D603370C20AE2", false)[0]); + Assert.NotNull(certs.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "6E4385A67BDE4505", false)[0]); + var leaf = certs.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "51BB4F74500125AD", false)[0]; + Assert.NotNull(leaf); + + //Act + Assert.False(PEMReader.ContainsPrivateKey(file), "PEM file should not contain a private key."); + + // Remove leaf certificate from the collection + Assert.True(PEMWriter.TryRemovePublicKeyFromPEM(leaf.Thumbprint, file, out var updatedFile)); + + Assert.IsNotNull(updatedFile, "Updated PEM file should not be null."); + var updatedCerts = PEMReader.ImportPublicKeysFromPEM(updatedFile); + Assert.IsNotNull(updatedCerts, "Certificates collection should not be null."); + Assert.IsNotEmpty(updatedCerts, "Certificates collection should not be empty."); + Assert.AreEqual(2, updatedCerts.Count, "Expected 2 certificates in the collection."); + //root + Assert.NotNull(updatedCerts.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "029D603370C20AE2", false)[0]); + //intermediate + Assert.NotNull(updatedCerts.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "6E4385A67BDE4505", false)[0]); + // leaf + Assert.AreEqual(0, updatedCerts.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "51BB4F74500125AD", false).Count); + } + + [Test] + public void ImportPublicPrivateKeyPairFromPEM() + { +#if !NET8_0_OR_GREATER + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + Assert.Ignore("Skipped due to https://github.com/dotnet/runtime/issues/82682"); + } +#endif + // Arrange + var file = DecryptKeyPairPemBase64(); + + // Act + var certs = PEMReader.ImportPublicKeysFromPEM(file); + + // Assert + Assert.IsNotNull(certs, "Certificates collection should not be null."); + Assert.IsNotEmpty(certs, "Certificates collection should not be empty."); + Assert.AreEqual(1, certs.Count, "Expected 1 certificate in the collection."); + var leaf = certs.Find(System.Security.Cryptography.X509Certificates.X509FindType.FindBySerialNumber, "51BB4F74500125AD", false)[0]; + Assert.NotNull(leaf); + + + //Act + Assert.True(PEMReader.ContainsPrivateKey(file), "PEM file should contain a private key."); + + X509Certificate2 newCert = null; + try + { + newCert = CertificateFactory.CreateCertificateWithPEMPrivateKey(leaf, file); + + + Assert.NotNull(newCert, "New certificate with private key should not be null."); + Assert.True(newCert.HasPrivateKey, "New certificate should have a private key."); + } + finally + { + newCert?.Dispose(); // Dispose the certificate to release resources + } + } + + private const string s_keyPairPemBase64Encrypted = "4FJ9EkT20K8SB/QHUSU8/gV70D1LrJ7scXagGkJUc8gKK1Fk85hdNdOuHKV5hBkzpeod5VsC3ino1rg++1FhXVJ/DSLntQkbWzNC6Hhl/CDmBt5aMzJW+6HhRvC/pE1FRHJkWdkQijUdXL5hw3oos8PZfXN/B0OEsGQPvxYJ66g0Z9U2jusPW81Q+ps1cRy2wcoPAllwB4tEawrAop5+71jZL+EOVCxQ5i0VBFDgCATFIT6zyFfQ4jKD1Uk7bxNm2Mcb04eyUI+dsR1cYUuW8nisesVLXPkENpZYMAXBiZMB58pNJQuhZZk0iw8muWonbzA0n9hhAN28dX/tnc6HcjSn4TSxnRUpbsSAUnT66TIoxgAb/1x9Q4LihjV9AimLFu9RCTJ26EjECoAhzFBIvy1Wh2ReAceveJLauyQnSlpmsHB/K4ePmKQGLw+0Ce8qpVr8f5bAvzK6dbDVlJzvoO0E471U8RiyL6Sp2xVtvYYSo5FeTQdxBxRerSA2GhXUohevww06cauCfamNy7yBLUC+vOC5/teXDHBiPdGJFzpPPzyB5xMgCAWjeBoyyKYXgrL5ivS/rNUCMK/0XXLxSAujYUTcnnuCE+FVbVDbNdkvuSC1aKMAX6RLxZFOj7oovHChrUf1+P5srFnLsomF8/8ucoiyFFjJcVi2FQ/2pw828o/Oh9hLdOUlcVj40OuaUyymmChREM45HaxLC0As+SWKmc572HV7MUHOgWUnt0jVbFO6gR8CK3nspfV5PxNyeRU2UnGW6DBam81NLwGIWOxsVvYAiterStmcDppb5RBrFUffL46iEo8r5hij/u47k3nXebeoqtl/Uv8QCwaX2cJoHRX1+9LQc5FJKojBqcX8n0onoWzW4vfqUWwgjedFWGU09klXYQFBn/OmGJrjj0FqhBY/mQuuLbjslL9FmV2S+8/g7xINL20pSR+ahtGqQbuUsvodWEP2ndn5ATeVr0HY2FFsCPdBRHtHYsgxrxyMSy8DCFIKZ4PAQc1UvUokVMqNJLRnC66Px8i0OZyUHIbkEIkFMPk2duOiv6VVm8YgSL3DGkrD9ee5X4pdNzEN8TtxV0XDpeotDEcv7O2dhzmblQS9qspEfH91XOmcX/ot5wrAV0xuzyDcuAZUtly63k5q0dRzNwwZ6VeCDYRXx3A50ZViTY9CaHxeHub6H1/czVF5/0qnLeYIwSyrSGg/dGWJMQFiydgizJ6JJ3fVKIRnvkTwi3N9q+3716w3uDNCawlf7ybLHtLIuiNMz+fn4HWH8e6Gyw1iu9JmYFNRmJqcKQV+Owb7TCgLKmSqRQAAeFtCM/mj8pyHTBxfnhVFUr2aOQbCqUUTh0HonT/G/H1tz6P6VcCtR26RasKu2csDCSU6cdFxKy/SU+ecDVqIJP78Sg53iZ3Zh1FsGRFZklFPoND7Bp2q3C0khyf9jc9S9kNwv3X75ExkKWmK/psQW9Rd/wEYx5HMQns+3zNETBlcd4N/uPQQYeoT3dW+PRj6uZdvgVDLgO+MVHhCkoEHKAH3DEhudPLTeSBe1a6OrfnpwE+ln9jdf9C24ScH67ZyQmQRhp0G0fIKHHSD8XB7LPpptezUZDB4C8ShsFxewSI1RwRqr8+NwwDiJvkjN0F7GT1CoKxXu8DnhMVHPg4XNpBuklNmY7NhZiH0Kz3/r5+WxWBF3YYaAOCxstxUfiLUMFQgszUCZmTZ0ErRVeUCcrDKjqlrQcYAQW+sTDy4zKMjbvmhF3Qrl4pktA6upfu/QaukwRduoqPXHAbBV9EU6tDrF5czphIxJNCyhqUXUEsRhqBh1rAf9jD3kujtMD6bug5tPLefYWpzZC6rtGSNuuw0BuwlezxhaM+Cn4+eOYDFl3XmfwudmwurOTEuVePbBFjGQNCbP6/QkoNXNwgGohtmydkugmoQesqK+Whs9kEoGLcuYTjLJYTM1AyN2N3Ub7R4JOCOa/cEr+5YVzKXmUXpeM8nUZ8qGOHW5sZtCMEteGxVR35ondJJPEb72XjtotlaqwLbN26Q/FJGscPIfAQ2weRUXgXjZFZeFGh+GJd09xbH0jkRzAIkH5WXSuVLJRzLQk1uZ8teS+aem1+O2YC8/ZcRH7Q9FB1ECZOgfLJbNFX3EX2elhhLQD/3Za6mhok8FacHwQF/mahfEslCHKXeaMFFhIXijeIrutOG+KJvjqPAf2eK11WvqXdOlejgazP0KAZbQqKLWcFTYJMWu92k5Flf6S6hh7TLcngsZNQLVmd/42Px42Rr91IfLJdLyEENYps7k7kjZbJfs0YPKjqwkZbV6TcvBlGHZJsjNwt0GZvdK52MqqT0O2bkBIep7fn9B7psuz1GaNeec7dFvQfIA47vwcxEZfjzkGygQ2is+QjZaeMa9+k58uFCbkLwjm34SQiMl8XayPtgkU1DkVpxN7dwzuxnqG2TagDSHUfR1QoY+YoxNUwIt2GzCIXPna1S1UolHBwc/g4/RQIlaGTwesOC4kHSPoAAWS1E34K/mJP/cgEM1FsxcDo+YYdnZyKLqWRVqjuPI1DFZBhqdMPCc5xzW8onMgPQoq8OY2iHJ+oTizrFZy7NKgH52dki9pnW7GERcmBET7actjGa3WJtSO6q9xxcNUPGeE8m4ZUA/x5+7WyzgSVIRpeCNylk410Sfm/qGZJOaATKqheHu4iY/bBzWbENJXAJt9kcFViaG10pyVe88NJ5fvRwUZJcPbxg/yVBPwMEETaQu3bwpf36hT5wAkiwhucVnFM8b8RXrmYx3rFt28IKW+Kl7EJq1bqQJv6HoeFfYArH1k+mReLruGEUEWEbGLyUieuTFRVOsttNJcdzCtqMYF+CE/z0mJRZ/OLQh3QJ0evgZtK7j+sQb5y7fuw13xrRDK+N3wz545uGTu9+739ormVpKXmA1995YtxYd2kAfiZqIPbM+aeX47maKDYG6fn+AGI9KbPayi6msZl3IGOD/oZ8wDJyeUYLa9GPS+Alq/0QQxIDyCy+9q/E+MKJVghgHSfvA+q+agyGdL8rROmzeVKIz6dzuXBy9ku/n3Uw1gKRmkryw6QePIaPeH6jqSK8IbYokfC9fLA02xT8xD09vICwdgclNa/sMgyLn9b3bS8LYn7vSMNZZW3tFnFM5SMqstKGm3TJ62I2sk7wmXNIknEf6KyBjU9Nr1ktuDIUWijuHXPn69HLuhI7lcgqeOdbZXLr0kurul64puYGHHp9PotTzsxL+y+GueJF5hdj6VRDpzqPRPfGCDEpiiAA7sqmeB8+1Lf9dDQadPTM2KqZTWCclK1M5mTs0h+yxQsBX8S2GgSq6El/mfnDHgcQY5OyzOXXH+h8BT9uht0cpPfepCCZPDiAgTotdjhM1cS00xXbuqXggmt27PbgvmLLL1vDqtrgju/wytnt7Mzp38BwV4J9xPvoeGKKoLBOheZkEFn0dU0cnRX8jRPdLmr5LOcHoBCs1jQiIoTG9ikGflSo8LzQdECEBJ+BlHdMZ6dQRV0QytF/xyOylny3G0SYdvmrVMv/H12fwRVqcoSRFW6mRPqWSeJv1aHCO5M9LFXtRn/MbpvgogQqTmfSrluUVWGKEmnOH00ZnS3uyjh7G2bZI9GrEqJ4AnAW+et0s0++TVW8KAqUFBgkR9f0NIn/kYOKoXY46CafQ0pFzKgfH5c0ZvNa5m9sazdwMa4Qv1PjAYzR+/Y2fFa4goffwKnbX7nZfidmktyA8t1V8DmEt9tzEZE+WpPMFfRv/ujZkIHPy7GAFWLNFP95VbRh3ZBY/AtYF62Sn4TT+rC+V4JxfJfhs5p6SoqpAF+u8qamvP+fxQ354foMHoaGBZFqrigh1ay5XGA8pXEsBe7d4e/n/JgLAyfuiRTDv7GSGmn8Z9aUbGtVg4TtVE29fHJVD2pX8L3xtXAOqQ=="; + private static readonly byte[] s_aesKey = new byte[] { 0x13, 0x5e, 0xcf, 0xdd, 0x96, 0xf2, 0x99, 0x63, 0x9e, 0x2d, 0x50, 0x1c, 0x3a, 0xbb, 0xde, 0x02 }; // 16 bytes for AES-128 + private static readonly byte[] s_aesIV = new byte[] { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 0xEF, 0xCD, 0xAB, 0x89, 0x67, 0x45, 0x23, 0x01 }; // 16 bytes + + private static byte[] DecryptKeyPairPemBase64() + { + var encryptedBytes = Convert.FromBase64String(s_keyPairPemBase64Encrypted); + using var aes = Aes.Create(); + aes.Key = s_aesKey; + aes.IV = s_aesIV; + using var decryptor = aes.CreateDecryptor(); + using var ms = new MemoryStream(encryptedBytes); + using var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read); + using var output = new MemoryStream(); + cs.CopyTo(output); + return output.ToArray(); + } + } +} diff --git a/Tests/Opc.Ua.Server.Tests/Opc.Ua.Server.Tests.csproj b/Tests/Opc.Ua.Server.Tests/Opc.Ua.Server.Tests.csproj index 6b180b2131..fdc882165b 100644 --- a/Tests/Opc.Ua.Server.Tests/Opc.Ua.Server.Tests.csproj +++ b/Tests/Opc.Ua.Server.Tests/Opc.Ua.Server.Tests.csproj @@ -1,5 +1,4 @@ - - + Exe $(TestsTargetFrameworks) @@ -10,8 +9,6 @@ - - $(DefineConstants);ECC_SUPPORT @@ -20,20 +17,20 @@ - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + @@ -46,5 +43,4 @@ - - + \ No newline at end of file diff --git a/UA Core Library.sln b/UA Core Library.sln index 434d4a0b0d..14179b3580 100644 --- a/UA Core Library.sln +++ b/UA Core Library.sln @@ -33,6 +33,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution common.props = common.props Tests\coverlet.runsettings.xml = Tests\coverlet.runsettings.xml Directory.Build.props = Directory.Build.props + Directory.Packages.props = Directory.Packages.props targets.props = targets.props version.json = version.json version.props = version.props diff --git a/UA Fuzzing.sln b/UA Fuzzing.sln index aee7a01f8c..055b74e074 100644 --- a/UA Fuzzing.sln +++ b/UA Fuzzing.sln @@ -18,6 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution common.props = common.props Tests\coverlet.runsettings.xml = Tests\coverlet.runsettings.xml Directory.Build.props = Directory.Build.props + Directory.Packages.props = Directory.Packages.props README.md = README.md targets.props = targets.props version.json = version.json diff --git a/UA Reference.sln b/UA Reference.sln index 51cfb66060..8a7c0403ee 100644 --- a/UA Reference.sln +++ b/UA Reference.sln @@ -18,6 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution common.props = common.props Tests\coverlet.runsettings.xml = Tests\coverlet.runsettings.xml Directory.Build.props = Directory.Build.props + Directory.Packages.props = Directory.Packages.props README.md = README.md targets.props = targets.props version.json = version.json diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0b4895247d..b671a0be07 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -67,10 +67,10 @@ stages: - template: .azurepipelines/test.yml parameters: configuration: Release - framework: net6.0 + framework: net8.0 agents: '@{ windows = "windows-2025"; linux="ubuntu-24.04"; mac = "macOS-15"}' - jobnamesuffix: net60 - customtestarget: net6.0 + jobnamesuffix: net80 + customtestarget: net8.0 - stage: testreleasepr dependsOn: [] displayName: 'Fast .NET 8.0 PR Test' @@ -143,7 +143,7 @@ stages: jobs: - template: .azurepipelines/test.yml parameters: - framework: net6.0 + framework: net8.0 configuration: Release jobnamesuffix: netstandard20 agents: '@{ windows = "windows-2022"; linux="ubuntu-22.04"}' @@ -155,7 +155,7 @@ stages: jobs: - template: .azurepipelines/test.yml parameters: - framework: net6.0 + framework: net8.0 configuration: Release jobnamesuffix: netstandard21 customtestarget: netstandard2.1 diff --git a/common.props b/common.props index 975efd73e2..701b63ab51 100644 --- a/common.props +++ b/common.props @@ -15,7 +15,7 @@ AnyCPU true - 9 + 12 true @@ -63,7 +63,7 @@ - + @@ -77,4 +77,4 @@ true true - + \ No newline at end of file diff --git a/targets.props b/targets.props index cde7d478ba..eed98f8370 100644 --- a/targets.props +++ b/targets.props @@ -10,7 +10,7 @@ A build with all custom targets which are not part of a regular build is scheduled once a week in the DevOps build pipeline. Uncomment the following lines to test a custom test target - supported values: net462, netstandard2.0, netstandard2.1, net472, net48, net6.0, net8.0, net9.0 + supported values: net462, netstandard2.0, netstandard2.1, net472, net48, net8.0, net9.0 --> @@ -142,26 +142,13 @@ preview all default - net9.0;net6.0;net48 + net9.0;net8.0;net48 net9.0 net48;net9.0 - net472;net48;netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0 - net472;net48;netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0 - net462;net472;net48;netstandard2.1;net6.0;net8.0;net9.0 - net472;net48;netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0 - - - - - - latest - net48 - net48 - net48 - net48;netstandard2.1 - net48;netstandard2.0;netstandard2.1 - net48;netstandard2.1 - net48 + net472;net48;netstandard2.0;netstandard2.1;net8.0;net9.0 + net472;net48;netstandard2.0;netstandard2.1;net8.0;net9.0 + net472;net48;netstandard2.1;net8.0;net9.0 + net472;net48;netstandard2.0;netstandard2.1;net8.0;net9.0 diff --git a/version.props b/version.props index a53c06560d..2142f88838 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -22,5 +22,4 @@ $(MSBuildThisFileDirectory) - - + \ No newline at end of file