EntityFramework6.PS2.psm1 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. # Copyright (c) Microsoft Corporation. All rights reserved.
  2. $ErrorActionPreference = 'Stop'
  3. $InitialDatabase = '0'
  4. $UpdatePowerShell = 'The Entity Framework Package Manager Console Tools require Windows PowerShell 3.0 or higher. ' +
  5. 'Install Windows Management Framework 3.0, restart Visual Studio, and try again. https://aka.ms/wmf3download'
  6. <#
  7. .SYNOPSIS
  8. Adds or updates an Entity Framework provider entry in the project config
  9. file.
  10. .DESCRIPTION
  11. Adds an entry into the 'entityFramework' section of the project config
  12. file for the specified provider invariant name and provider type. If an
  13. entry for the given invariant name already exists, then that entry is
  14. updated with the given type name, unless the given type name already
  15. matches, in which case no action is taken. The 'entityFramework'
  16. section is added if it does not exist. The config file is automatically
  17. saved if and only if a change was made.
  18. This command is typically used only by Entity Framework provider NuGet
  19. packages and is run from the 'install.ps1' script.
  20. .PARAMETER Project
  21. The Visual Studio project to update. When running in the NuGet install.ps1
  22. script the '$project' variable provided as part of that script should be
  23. used.
  24. .PARAMETER InvariantName
  25. The provider invariant name that uniquely identifies this provider. For
  26. example, the Microsoft SQL Server provider is registered with the invariant
  27. name 'System.Data.SqlClient'.
  28. .PARAMETER TypeName
  29. The assembly-qualified type name of the provider-specific type that
  30. inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For
  31. example, for the Microsoft SQL Server provider, this type is
  32. 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'.
  33. #>
  34. function Add-EFProvider
  35. {
  36. [CmdletBinding(PositionalBinding = $false)]
  37. param(
  38. [parameter(Position = 0, Mandatory = $true)]
  39. $Project,
  40. [parameter(Position = 1, Mandatory = $true)]
  41. [string] $InvariantName,
  42. [parameter(Position = 2, Mandatory = $true)]
  43. [string] $TypeName)
  44. $configPath = GetConfigPath($Project)
  45. if (!$configPath)
  46. {
  47. return
  48. }
  49. [xml] $configXml = Get-Content $configPath
  50. $providers = $configXml.configuration.entityFramework.providers
  51. $providers.provider |
  52. where invariantName -eq $InvariantName |
  53. %{ $providers.RemoveChild($_) | Out-Null }
  54. $provider = $providers.AppendChild($configXml.CreateElement('provider'))
  55. $provider.SetAttribute('invariantName', $InvariantName)
  56. $provider.SetAttribute('type', $TypeName)
  57. $configXml.Save($configPath)
  58. }
  59. <#
  60. .SYNOPSIS
  61. Adds or updates an Entity Framework default connection factory in the
  62. project config file.
  63. .DESCRIPTION
  64. Adds an entry into the 'entityFramework' section of the project config
  65. file for the connection factory that Entity Framework will use by default
  66. when creating new connections by convention. Any existing entry will be
  67. overridden if it does not match. The 'entityFramework' section is added if
  68. it does not exist. The config file is automatically saved if and only if
  69. a change was made.
  70. This command is typically used only by Entity Framework provider NuGet
  71. packages and is run from the 'install.ps1' script.
  72. .PARAMETER Project
  73. The Visual Studio project to update. When running in the NuGet install.ps1
  74. script the '$project' variable provided as part of that script should be
  75. used.
  76. .PARAMETER TypeName
  77. The assembly-qualified type name of the connection factory type that
  78. implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory'
  79. interface. For example, for the Microsoft SQL Server Express provider
  80. connection factory, this type is
  81. 'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'.
  82. .PARAMETER ConstructorArguments
  83. An optional array of strings that will be passed as arguments to the
  84. connection factory type constructor.
  85. #>
  86. function Add-EFDefaultConnectionFactory
  87. {
  88. [CmdletBinding(PositionalBinding = $false)]
  89. param(
  90. [parameter(Position = 0, Mandatory = $true)]
  91. $Project,
  92. [parameter(Position = 1, Mandatory = $true)]
  93. [string] $TypeName,
  94. [string[]] $ConstructorArguments)
  95. $configPath = GetConfigPath($Project)
  96. if (!$configPath)
  97. {
  98. return
  99. }
  100. [xml] $configXml = Get-Content $configPath
  101. $entityFramework = $configXml.configuration.entityFramework
  102. $defaultConnectionFactory = $entityFramework.defaultConnectionFactory
  103. if ($defaultConnectionFactory)
  104. {
  105. $entityFramework.RemoveChild($defaultConnectionFactory) | Out-Null
  106. }
  107. $defaultConnectionFactory = $entityFramework.AppendChild($configXml.CreateElement('defaultConnectionFactory'))
  108. $defaultConnectionFactory.SetAttribute('type', $TypeName)
  109. if ($ConstructorArguments)
  110. {
  111. $parameters = $defaultConnectionFactory.AppendChild($configXml.CreateElement('parameters'))
  112. foreach ($constructorArgument in $ConstructorArguments)
  113. {
  114. $parameter = $parameters.AppendChild($configXml.CreateElement('parameter'))
  115. $parameter.SetAttribute('value', $constructorArgument)
  116. }
  117. }
  118. $configXml.Save($configPath)
  119. }
  120. <#
  121. .SYNOPSIS
  122. Enables Code First Migrations in a project.
  123. .DESCRIPTION
  124. Enables Migrations by scaffolding a migrations configuration class in the project. If the
  125. target database was created by an initializer, an initial migration will be created (unless
  126. automatic migrations are enabled via the EnableAutomaticMigrations parameter).
  127. .PARAMETER ContextTypeName
  128. Specifies the context to use. If omitted, migrations will attempt to locate a
  129. single context type in the target project.
  130. .PARAMETER EnableAutomaticMigrations
  131. Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration.
  132. If omitted, automatic migrations will be disabled.
  133. .PARAMETER MigrationsDirectory
  134. Specifies the name of the directory that will contain migrations code files.
  135. If omitted, the directory will be named "Migrations".
  136. .PARAMETER ProjectName
  137. Specifies the project that the scaffolded migrations configuration class will
  138. be added to. If omitted, the default project selected in package manager
  139. console is used.
  140. .PARAMETER StartUpProjectName
  141. Specifies the configuration file to use for named connection strings. If
  142. omitted, the specified project's configuration file is used.
  143. .PARAMETER ContextProjectName
  144. Specifies the project which contains the DbContext class to use. If omitted,
  145. the context is assumed to be in the same project used for migrations.
  146. .PARAMETER ConnectionStringName
  147. Specifies the name of a connection string to use from the application's
  148. configuration file.
  149. .PARAMETER ConnectionString
  150. Specifies the connection string to use. If omitted, the context's
  151. default connection will be used.
  152. .PARAMETER ConnectionProviderName
  153. Specifies the provider invariant name of the connection string.
  154. .PARAMETER Force
  155. Specifies that the migrations configuration be overwritten when running more
  156. than once for a given project.
  157. .PARAMETER ContextAssemblyName
  158. Specifies the name of the assembly which contains the DbContext class to use. Use this
  159. parameter instead of ContextProjectName when the context is contained in a referenced
  160. assembly rather than in a project of the solution.
  161. .PARAMETER AppDomainBaseDirectory
  162. Specifies the directory to use for the app-domain that is used for running Migrations
  163. code such that the app-domain is able to find all required assemblies. This is an
  164. advanced option that should only be needed if the solution contains several projects
  165. such that the assemblies needed for the context and configuration are not all
  166. referenced from either the project containing the context or the project containing
  167. the migrations.
  168. .EXAMPLE
  169. Enable-Migrations
  170. # Scaffold a migrations configuration in a project with only one context
  171. .EXAMPLE
  172. Enable-Migrations -Auto
  173. # Scaffold a migrations configuration with automatic migrations enabled for a project
  174. # with only one context
  175. .EXAMPLE
  176. Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName
  177. # Scaffold a migrations configuration for a project with multiple contexts
  178. # This scaffolds a migrations configuration for MyContext and will put the configuration
  179. # and subsequent configurations in a new directory called "DirectoryName"
  180. #>
  181. function Enable-Migrations(
  182. $ContextTypeName,
  183. [alias('Auto')]
  184. [switch] $EnableAutomaticMigrations,
  185. $MigrationsDirectory,
  186. $ProjectName,
  187. $StartUpProjectName,
  188. $ContextProjectName,
  189. $ConnectionStringName,
  190. $ConnectionString,
  191. $ConnectionProviderName,
  192. [switch] $Force,
  193. $ContextAssemblyName,
  194. $AppDomainBaseDirectory)
  195. WarnIfOtherEFs 'Enable-Migrations'
  196. throw $UpdatePowerShell
  197. }
  198. <#
  199. .SYNOPSIS
  200. Scaffolds a migration script for any pending model changes.
  201. .DESCRIPTION
  202. Scaffolds a new migration script and adds it to the project.
  203. .PARAMETER Name
  204. Specifies the name of the custom script.
  205. .PARAMETER Force
  206. Specifies that the migration user code be overwritten when re-scaffolding an
  207. existing migration.
  208. .PARAMETER ProjectName
  209. Specifies the project that contains the migration configuration type to be
  210. used. If omitted, the default project selected in package manager console
  211. is used.
  212. .PARAMETER StartUpProjectName
  213. Specifies the configuration file to use for named connection strings. If
  214. omitted, the specified project's configuration file is used.
  215. .PARAMETER ConfigurationTypeName
  216. Specifies the migrations configuration to use. If omitted, migrations will
  217. attempt to locate a single migrations configuration type in the target
  218. project.
  219. .PARAMETER ConnectionStringName
  220. Specifies the name of a connection string to use from the application's
  221. configuration file.
  222. .PARAMETER ConnectionString
  223. Specifies the connection string to use. If omitted, the context's
  224. default connection will be used.
  225. .PARAMETER ConnectionProviderName
  226. Specifies the provider invariant name of the connection string.
  227. .PARAMETER IgnoreChanges
  228. Scaffolds an empty migration ignoring any pending changes detected in the current model.
  229. This can be used to create an initial, empty migration to enable Migrations for an existing
  230. database. N.B. Doing this assumes that the target database schema is compatible with the
  231. current model.
  232. .PARAMETER AppDomainBaseDirectory
  233. Specifies the directory to use for the app-domain that is used for running Migrations
  234. code such that the app-domain is able to find all required assemblies. This is an
  235. advanced option that should only be needed if the solution contains several projects
  236. such that the assemblies needed for the context and configuration are not all
  237. referenced from either the project containing the context or the project containing
  238. the migrations.
  239. .EXAMPLE
  240. Add-Migration First
  241. # Scaffold a new migration named "First"
  242. .EXAMPLE
  243. Add-Migration First -IgnoreChanges
  244. # Scaffold an empty migration ignoring any pending changes detected in the current model.
  245. # This can be used to create an initial, empty migration to enable Migrations for an existing
  246. # database. N.B. Doing this assumes that the target database schema is compatible with the
  247. # current model.
  248. #>
  249. function Add-Migration(
  250. $Name,
  251. [switch] $Force,
  252. $ProjectName,
  253. $StartUpProjectName,
  254. $ConfigurationTypeName,
  255. $ConnectionStringName,
  256. $ConnectionString,
  257. $ConnectionProviderName,
  258. [switch] $IgnoreChanges,
  259. $AppDomainBaseDirectory)
  260. WarnIfOtherEFs 'Add-Migration'
  261. throw $UpdatePowerShell
  262. }
  263. <#
  264. .SYNOPSIS
  265. Applies any pending migrations to the database.
  266. .DESCRIPTION
  267. Updates the database to the current model by applying pending migrations.
  268. .PARAMETER SourceMigration
  269. Only valid with -Script. Specifies the name of a particular migration to use
  270. as the update's starting point. If omitted, the last applied migration in
  271. the database will be used.
  272. .PARAMETER TargetMigration
  273. Specifies the name of a particular migration to update the database to. If
  274. omitted, the current model will be used.
  275. .PARAMETER Script
  276. Generate a SQL script rather than executing the pending changes directly.
  277. .PARAMETER Force
  278. Specifies that data loss is acceptable during automatic migration of the
  279. database.
  280. .PARAMETER ProjectName
  281. Specifies the project that contains the migration configuration type to be
  282. used. If omitted, the default project selected in package manager console
  283. is used.
  284. .PARAMETER StartUpProjectName
  285. Specifies the configuration file to use for named connection strings. If
  286. omitted, the specified project's configuration file is used.
  287. .PARAMETER ConfigurationTypeName
  288. Specifies the migrations configuration to use. If omitted, migrations will
  289. attempt to locate a single migrations configuration type in the target
  290. project.
  291. .PARAMETER ConnectionStringName
  292. Specifies the name of a connection string to use from the application's
  293. configuration file.
  294. .PARAMETER ConnectionString
  295. Specifies the connection string to use. If omitted, the context's
  296. default connection will be used.
  297. .PARAMETER ConnectionProviderName
  298. Specifies the provider invariant name of the connection string.
  299. .PARAMETER AppDomainBaseDirectory
  300. Specifies the directory to use for the app-domain that is used for running Migrations
  301. code such that the app-domain is able to find all required assemblies. This is an
  302. advanced option that should only be needed if the solution contains several projects
  303. such that the assemblies needed for the context and configuration are not all
  304. referenced from either the project containing the context or the project containing
  305. the migrations.
  306. .EXAMPLE
  307. Update-Database
  308. # Update the database to the latest migration
  309. .EXAMPLE
  310. Update-Database -TargetMigration Second
  311. # Update database to a migration named "Second"
  312. # This will apply migrations if the target hasn't been applied or roll back migrations
  313. # if it has
  314. .EXAMPLE
  315. Update-Database -Script
  316. # Generate a script to update the database from its current state to the latest migration
  317. .EXAMPLE
  318. Update-Database -Script -SourceMigration Second -TargetMigration First
  319. # Generate a script to migrate the database from a specified start migration
  320. # named "Second" to a specified target migration named "First"
  321. .EXAMPLE
  322. Update-Database -Script -SourceMigration $InitialDatabase
  323. # Generate a script that can upgrade a database currently at any version to the latest version.
  324. # The generated script includes logic to check the __MigrationsHistory table and only apply changes
  325. # that haven't been previously applied.
  326. .EXAMPLE
  327. Update-Database -TargetMigration $InitialDatabase
  328. # Runs the Down method to roll-back any migrations that have been applied to the database
  329. #>
  330. function Update-Database(
  331. $SourceMigration,
  332. $TargetMigration,
  333. [switch] $Script,
  334. [switch] $Force,
  335. $ProjectName,
  336. $StartUpProjectName,
  337. $ConfigurationTypeName,
  338. $ConnectionStringName,
  339. $ConnectionString,
  340. $ConnectionProviderName,
  341. $AppDomainBaseDirectory)
  342. WarnIfOtherEFs 'Update-Database'
  343. throw $UpdatePowerShell
  344. }
  345. <#
  346. .SYNOPSIS
  347. Displays the migrations that have been applied to the target database.
  348. .DESCRIPTION
  349. Displays the migrations that have been applied to the target database.
  350. .PARAMETER ProjectName
  351. Specifies the project that contains the migration configuration type to be
  352. used. If omitted, the default project selected in package manager console
  353. is used.
  354. .PARAMETER StartUpProjectName
  355. Specifies the configuration file to use for named connection strings. If
  356. omitted, the specified project's configuration file is used.
  357. .PARAMETER ConfigurationTypeName
  358. Specifies the migrations configuration to use. If omitted, migrations will
  359. attempt to locate a single migrations configuration type in the target
  360. project.
  361. .PARAMETER ConnectionStringName
  362. Specifies the name of a connection string to use from the application's
  363. configuration file.
  364. .PARAMETER ConnectionString
  365. Specifies the connection string to use. If omitted, the context's
  366. default connection will be used.
  367. .PARAMETER ConnectionProviderName
  368. Specifies the provider invariant name of the connection string.
  369. .PARAMETER AppDomainBaseDirectory
  370. Specifies the directory to use for the app-domain that is used for running Migrations
  371. code such that the app-domain is able to find all required assemblies. This is an
  372. advanced option that should only be needed if the solution contains several projects
  373. such that the assemblies needed for the context and configuration are not all
  374. referenced from either the project containing the context or the project containing
  375. the migrations.
  376. #>
  377. function Get-Migrations(
  378. $ProjectName,
  379. $StartUpProjectName,
  380. $ConfigurationTypeName,
  381. $ConnectionStringName,
  382. $ConnectionString,
  383. $ConnectionProviderName,
  384. $AppDomainBaseDirectory)
  385. WarnIfOtherEFs 'Get-Migrations'
  386. throw $UpdatePowerShell
  387. }
  388. function GetConfigPath($project)
  389. {
  390. $solution = Get-VSService 'Microsoft.VisualStudio.Shell.Interop.SVsSolution' 'Microsoft.VisualStudio.Shell.Interop.IVsSolution'
  391. $hierarchy = $null
  392. $hr = $solution.GetProjectOfUniqueName($project.UniqueName, [ref] $hierarchy)
  393. [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
  394. $aggregatableProject = Get-Interface $hierarchy 'Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject'
  395. if (!$aggregatableProject)
  396. {
  397. $projectTypes = $project.Kind
  398. }
  399. else
  400. {
  401. $projectTypeGuids = $null
  402. $hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuids)
  403. [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
  404. $projectTypes = $projectTypeGuids.Split(';')
  405. }
  406. $configFileName = 'app.config'
  407. foreach ($projectType in $projectTypes)
  408. {
  409. if ($projectType -in '{349C5851-65DF-11DA-9384-00065B846F21}', '{E24C65DC-7377-472B-9ABA-BC803B73C61A}')
  410. {
  411. $configFileName = 'web.config'
  412. break
  413. }
  414. }
  415. try
  416. {
  417. return $project.ProjectItems.Item($configFileName).Properties.Item('FullPath').Value
  418. }
  419. catch
  420. {
  421. return $null
  422. }
  423. }
  424. function WarnIfOtherEFs($cmdlet)
  425. {
  426. if (Get-Module 'EntityFrameworkCore')
  427. {
  428. Write-Warning "Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use 'EntityFrameworkCore\$cmdlet' for Entity Framework Core."
  429. }
  430. if (Get-Module 'EntityFramework')
  431. {
  432. Write-Warning "A version of Entity Framework older than 6.3 is also installed. The newer tools are running. Use 'EntityFramework\$cmdlet' for the older version."
  433. }
  434. }
  435. Export-ModuleMember 'Add-EFDefaultConnectionFactory', 'Add-EFProvider', 'Add-Migration', 'Enable-Migrations', 'Get-Migrations', 'Update-Database' -Variable 'InitialDatabase'
  436. # SIG # Begin signature block
  437. # MIIkWAYJKoZIhvcNAQcCoIIkSTCCJEUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
  438. # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
  439. # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBCukGtqR95vOzB
  440. # mTRxRgJFbcuurrr/NN2TQIASywaOO6CCDYEwggX/MIID56ADAgECAhMzAAABUZ6N
  441. # j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
  442. # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
  443. # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
  444. # bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw
  445. # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
  446. # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
  447. # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
  448. # AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1
  449. # oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os
  450. # +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU
  451. # 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg
  452. # B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ
  453. # IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
  454. # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w
  455. # UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
  456. # ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu
  457. # ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
  458. # bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
  459. # Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
  460. # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
  461. # MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A
  462. # rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS
  463. # se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf
  464. # NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL
  465. # crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs
  466. # 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF
  467. # sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD
  468. # 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK
  469. # YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j
  470. # 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu
  471. # Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY
  472. # HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS
  473. # AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
  474. # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
  475. # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
  476. # ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
  477. # MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
  478. # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
  479. # H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
  480. # AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
  481. # OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
  482. # 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
  483. # y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
  484. # 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
  485. # M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
  486. # X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
  487. # XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
  488. # 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
  489. # l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
  490. # RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
  491. # CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
  492. # BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
  493. # DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
  494. # 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
  495. # LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
  496. # Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
  497. # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
  498. # Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
  499. # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
  500. # cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
  501. # XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
  502. # 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
  503. # 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
  504. # d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
  505. # Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
  506. # wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
  507. # aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
  508. # NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
  509. # xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
  510. # eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
  511. # r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
  512. # RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIWLTCCFikCAQEwgZUwfjELMAkG
  513. # A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
  514. # HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
  515. # b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN
  516. # BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
  517. # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgEOrBKmRV
  518. # F3fgcAWFQjTYlsuOkm9g/FqiwqXthrzk3zcwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
  519. # AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
  520. # BgkqhkiG9w0BAQEFAASCAQB+MwuBzQDZmdbK3JQ+8GWCL4EY9+BQIGRqkMIaDfCr
  521. # kZc8Mnt2p210Qb9x8k88a5ZMn4YjzyoBUtIis2FpTZqBlDHa9r8o0vTwk7JMVp5w
  522. # 0Cpc/J73YC7NVz70V4dzer7bpZsXol23thjwlPLxLHjbkI2waGHVJL7mFBXVLSMm
  523. # SDSMGLja1jrbFoGH0uriXJk5GnIHCJ4jlmyisUCr8UbTlR1RCfgQowyp7CF8UYRL
  524. # jAX2nPjXpig8qVN1TNjaFJm4LtDx+pOT4cBuvJ+e94aify9iiFOjIUvhXfkB8049
  525. # fHj0CB9/JTuAp0qHXvgg0Gsf8tfQF9lCBvrwXBl/XeHfoYITtzCCE7MGCisGAQQB
  526. # gjcDAwExghOjMIITnwYJKoZIhvcNAQcCoIITkDCCE4wCAQMxDzANBglghkgBZQME
  527. # AgEFADCCAVgGCyqGSIb3DQEJEAEEoIIBRwSCAUMwggE/AgEBBgorBgEEAYRZCgMB
  528. # MDEwDQYJYIZIAWUDBAIBBQAEIOikt6sGT/Fpa1w5oFLAXISbIcKfPXhM92lj9ACv
  529. # RIkeAgZdr3dJ9PcYEzIwMTkxMTE2MDQ1MjM5LjkwMVowBwIBAYACAfSggdSkgdEw
  530. # gc4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
  531. # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsT
  532. # IE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFs
  533. # ZXMgVFNTIEVTTjo3MjhELUM0NUYtRjlFQjElMCMGA1UEAxMcTWljcm9zb2Z0IFRp
  534. # bWUtU3RhbXAgU2VydmljZaCCDx8wggT1MIID3aADAgECAhMzAAABBAkBdQhYhy0p
  535. # AAAAAAEEMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
  536. # YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
  537. # Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy
  538. # MDEwMB4XDTE5MDkwNjIwNDExOFoXDTIwMTIwNDIwNDExOFowgc4xCzAJBgNVBAYT
  539. # AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
  540. # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBP
  541. # cGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo3
  542. # MjhELUM0NUYtRjlFQjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
  543. # dmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMgtB6ARuhhmlpTh
  544. # YPwWgmtO2oNVTTZyHgYQBc3GH/J1w6bhgTcgpNiZnGZe2kv1Abyg7ABSP6ekgpRh
  545. # WpByx5gOeOxpllPXkCxpiMlKFFx++Rnxg0N1YFN2aAsVj9GRMWc3R6hPKtgFMHXU
  546. # LPxji3fu6DTgjfOi2pih5r/O+cp1Oi8KvdT+8p5JlROk1/85nsTggE80CudP/Nhu
  547. # iIrSvmDNKVmOMF3afUWUswVP6v6t9cGjSWG3GMGNZe8FB3VVOL+pNtCbRV83qhQt
  548. # kyIyA8HvGaciAfrXZi/QD5C/vK7XcvoeHbizh7j5lXUD3PiH0ffqHvMp58lsU/Aj
  549. # pqr5ZGcCAwEAAaOCARswggEXMB0GA1UdDgQWBBSY1V7fwkQaDhcBi/GZ08MisOia
  550. # 6jAfBgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEug
  551. # SaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
  552. # aWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsG
  553. # AQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Rp
  554. # bVN0YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG
  555. # CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQA9FdSzd2l8NAMX17RFeWLhOqnO
  556. # AgyXIjH8tdW1yA94Zdzyn8NeukcjyIL7/Pkj8R7KEtEUL0cfRnds6KITaPBXxlos
  557. # z1i+kMhfd6d4kSgnPWm0qoA14fqxJUM6P5fZfWRGUrtkNJha6N8Id1Ciuyibq7K0
  558. # 3EnTLgli3EX1LXlzBOyyyjM3hDGVxgPk9D7Bw5ikgVju+Yql+tXjjgG/oFw+WJvw
  559. # BN7YunaRV06JKZwsYGPsOYA1qyc8VXBoyeKGFKhI2oThT/P7IM3hCxLNc4fix3sL
  560. # aKe4NZta0rjdssY8Kz+Z4sr8T9daXSFa7kUpKVw5277+0QFCc6bkrHjlKB/lMIIG
  561. # cTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE
  562. # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
  563. # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0
  564. # IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1
  565. # WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
  566. # Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
  567. # cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC
  568. # ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9p
  569. # lGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEw
  570. # WbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeG
  571. # MoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJ
  572. # UGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw
  573. # 2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0C
  574. # AwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ
  575. # 80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8E
  576. # BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2U
  577. # kFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5j
  578. # b20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmww
  579. # WgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29m
  580. # dC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYD
  581. # VR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6
  582. # Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYI
  583. # KwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0
  584. # AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9
  585. # naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtR
  586. # gkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzy
  587. # mXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCf
  588. # Mkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3D
  589. # nKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs
  590. # 9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110
  591. # mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL
  592. # 2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffI
  593. # rE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxE
  594. # PJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc
  595. # 1bN+NR4Iuto229Nfj950iEkSoYIDrTCCApUCAQEwgf6hgdSkgdEwgc4xCzAJBgNV
  596. # BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
  597. # HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29m
  598. # dCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVT
  599. # Tjo3MjhELUM0NUYtRjlFQjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg
  600. # U2VydmljZaIlCgEBMAkGBSsOAwIaBQADFQCzRh5/R0jzKEyIVLZzGHgW3BUKfaCB
  601. # 3jCB26SB2DCB1TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
  602. # BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEp
  603. # MCcGA1UECxMgTWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJzAlBgNV
  604. # BAsTHm5DaXBoZXIgTlRTIEVTTjo0REU5LTBDNUUtM0UwOTErMCkGA1UEAxMiTWlj
  605. # cm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0BAQUFAAIF
  606. # AOF5V0QwIhgPMjAxOTExMTYwMDU2MzZaGA8yMDE5MTExNzAwNTYzNlowdDA6Bgor
  607. # BgEEAYRZCgQBMSwwKjAKAgUA4XlXRAIBADAHAgEAAgIE8TAHAgEAAgIZUjAKAgUA
  608. # 4XqoxAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMBoAowCAIBAAID
  609. # FuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQB0x7X5y62kB/NeAyuK
  610. # BnkojBstF12/I3Jr+2BMkGCkGtwUU5HcF81fWz76nIBmCLAMTyKK+QtlNEz4YJ98
  611. # IJSed4O2SqCrvwksPUnmQlHXEKbJtzxbAT65AVQjWWVhplFAdYz0yWkEFWQAFha/
  612. # hJcb4zxxkKs+J1P666ZzeIpnGYZmoLweIp+XUMpY5oA1ynJK+N6jb7kiIO04GJ1O
  613. # Nqv2O31CVMFeCgmyJVOuIJXW++z1BsWtEXtQe00RpjGiONt1ok4yGijIw9pQ2Mkf
  614. # ScM9sGWqKjy4jTvOmXajW+TXB7umD+cCMT/iQ3cSZLxBVVUkD/dDpZW0VvzUQ3oB
  615. # pvXNMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
  616. # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
  617. # b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAC
  618. # EzMAAAEECQF1CFiHLSkAAAAAAQQwDQYJYIZIAWUDBAIBBQCgggEyMBoGCSqGSIb3
  619. # DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgSwH0nbK6cUwIwS+u
  620. # zmcD7hWXC0rhvEkaRTNS5qLOAEAwgeIGCyqGSIb3DQEJEAIMMYHSMIHPMIHMMIGx
  621. # BBSzRh5/R0jzKEyIVLZzGHgW3BUKfTCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMw
  622. # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
  623. # aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0
  624. # YW1wIFBDQSAyMDEwAhMzAAABBAkBdQhYhy0pAAAAAAEEMBYEFEOkqefIaPkY6NZ7
  625. # MMR+JuaycJA7MA0GCSqGSIb3DQEBCwUABIIBACLmDtiex3OHtwSV5fk0vOmTunZl
  626. # StZ0d+saz7tdl3/UnyER9h2o8TZyeOKPSfPMzed2hYhWAiyCEZJkF0x6IuTzm8D3
  627. # wLXJLguieUy3QAY68TNw6bGVjYrQE1AXbhmXyKrak1TcQgoH7MYWzWnPNanlQcMl
  628. # ly3hRnz/d5ukbV4KXjke7w9IWXbDZzglU/iODI1VgpIiIBx55mx15FZ4BMMhjiuX
  629. # XazlFo+Ri7jjRR4TSd7hnuw0SIP1zLb1q1U4+rTO1Hc3NNVUQ4kbWHxc1s+0InmF
  630. # 4XihNXnS8XIYJsg0bo31wOCSy+D7HpvXZI3sCM+a5f8S/mN/sCpCzpfZSQM=
  631. # SIG # End signature block