update laptop config

This commit is contained in:
greyweather committed 2026-08-14 21:33:40 +01:00
1 parent 733a94f15f
commit efde36f8f3
338 files changed
+45564 -122

No files matched your search

@@ -0,0 +1,328 @@
/*! For license information please see extension.js.LICENSE.txt */
(()=>{var e={5606(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ASPNetRuntimeInstallationDirectoryProvider=void 0;const i=n(6928),r=n(8516);class o extends r.IInstallationDirectoryProvider{getInstallDir(e){return i.join(this.getStoragePath(),e)}}t.ASPNetRuntimeInstallationDirectoryProvider=o},7740(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{c(i.next(e))}catch(e){o(e)}}function a(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.AcquisitionInvoker=void 0;const r=n(5317),o=n(857),s=n(6928),a=n(85),c=n(4603),l=n(357),u=n(147),d=n(4027),p=n(3410),h=n(7532),f=n(6892),m=n(2631),v=n(152),g=n(8365),x=n(5267);class y extends x.IAcquisitionInvoker{constructor(e,t,n){var i;super(e.eventStream),this.workerContext=e,this.utilityContext=t,this.commandExecutor=n,this.noPowershellError="powershell is not discoverable on your system. Is PowerShell added to your PATH and correctly installed? Please visit: https://aka.ms/install-powershell\n\nYou will need to restart VS Code after these changes. If PowerShell is still not discoverable, try setting a custom existingDotnetPath following our instructions here: https://github.com/dotnet/vscode-dotnet-runtime/blob/main/Documentation/troubleshooting-runtime.md.",this.scriptWorker=new p.InstallScriptAcquisitionWorker(e),this.fileUtilities=new d.FileUtilities,null!==(i=this.commandExecutor)&&void 0!==i||(this.commandExecutor=new l.CommandExecutor(this.workerContext,this.utilityContext))}installDotnet(e){return i(this,void 0,void 0,function*(){const t=this.workerContext.installDirectoryProvider.getInstallDir(e.installId),n="win32"===o.platform(),l=yield this.getInstallCommand(this.workerContext.acquisitionContext.version,t,this.workerContext.acquisitionContext.mode,this.workerContext.acquisitionContext.architecture),d=s.join(t,(0,f.getDotnetExecutable)());return new Promise((o,s)=>i(this,void 0,void 0,function*(){try{let p="powershell.exe",f=`${p} -NoProfile -NonInteractive -NoLogo -ExecutionPolicy bypass -Command "& { [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; & ${l} }"`;if(n&&(p=yield this.verifyPowershellCanRun(e),f=f.replace("powershell.exe",p)),yield this.fileUtilities.exists(t)){if(yield this.fileUtilities.exists(d)){h.LocalMemoryCacheSingleton.getInstance().invalidateEntriesContaining(t);const n=new v.DotnetConditionValidator(this.workerContext,this.utilityContext);if(yield n.dotnetMeetsRequirement(d,{acquireContext:this.workerContext.acquisitionContext,versionSpecRequirement:"equal"}))return this.eventStream.post(new a.DotnetAcquisitionCompleted(e,d,this.workerContext.acquisitionContext.version)),o()}try{yield this.fileUtilities.wipeDirectory(t,this.eventStream,void 0,!0)}catch(e){this.eventStream.post(new a.SuppressedAcquisitionError(e,`${t} could not be not removed, and it has a corrupted install. Please remove it manually.`))}}const g={cwd:process.cwd(),maxBuffer:512e3,timeout:1e3*this.workerContext.timeoutSeconds,killSignal:"SIGKILL"},x=(t,l,p)=>{r.exec(t,g,(r,h,f)=>i(this,void 0,void 0,function*(){if(h&&this.eventStream.post(new a.DotnetAcquisitionScriptOutput(e,c.TelemetryUtilities.HashAllPaths(h))),f&&this.eventStream.post(new a.DotnetAcquisitionScriptOutput(e,`STDERR: ${c.TelemetryUtilities.HashAllPaths(f)}`)),this.looksLikeBadExecutionPolicyError(f)){const t=new a.EventBasedError("PowershellBadExecutionPolicy","Your powershell execution policy does not allow script execution, so we can't automate the installation.\nPlease read more at https://go.microsoft.com/fwlink/?LinkID=135170");this.eventStream.post(new a.PowershellBadExecutionPolicy(t,e)),s(t)}if((this.looksLikeBadLanguageModeError(f)||1===(null==r?void 0:r.code))&&(yield this.badLanguageModeSet(l))){const t=new a.EventBasedError("PowershellBadLanguageMode","Your Language Mode disables PowerShell language features needed to install .NET. Read more at: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_language_modes.\nIf you cannot change this flag, try setting a custom existingDotnetPath via the instructions here: https://github.com/dotnet/vscode-dotnet-runtime/blob/main/Documentation/troubleshooting-runtime.md.");this.eventStream.post(new a.PowershellBadLanguageMode(t,e)),s(t)}if(r){if(!p&&n&&this.mightBePowershellNotFound(f,r))return void this.findWorkingPowershellViaProbing(e).then(e=>{const n=t.replace(l,e);x(n,e,!0)}).catch(e=>s(e));if(yield m.WebRequestWorkerSingleton.getInstance().isOnline(this.workerContext.timeoutSeconds,this.eventStream))if("SIGKILL"===r.signal){const t=new a.EventBasedError("DotnetAcquisitionTimeoutError",`${u.timeoutConstants.timeoutMessage}, MESSAGE: ${r.message}, CODE: ${r.code}, KILLED: Line truncated
//# sourceMappingURL=extension.js.map
// SIG // Begin signature block
// SIG // MIIpkwYJKoZIhvcNAQcCoIIphDCCKYACAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // hGWCU4XwDl+Gyj++B2eHKunKtZtm/ba9imWmPLs6Gs2g
// SIG // gg3lMIIGvTCCBKWgAwIBAgITMwAAABxIn4HfobC3dwAA
// SIG // AAAAHDANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMC
// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
// SIG // b3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3Qg
// SIG // Q2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjQw
// SIG // ODA4MjEzNjIzWhcNMzUwNjIzMjIwNDAxWjBfMQswCQYD
// SIG // VQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
// SIG // cmF0aW9uMTAwLgYDVQQDEydNaWNyb3NvZnQgV2luZG93
// SIG // cyBDb2RlIFNpZ25pbmcgUENBIDIwMjQwggIiMA0GCSqG
// SIG // SIb3DQEBAQUAA4ICDwAwggIKAoICAQCafWt9J8F2Ki6u
// SIG // 49U0/8wrbe78VPggo/uwZIn0vwdoFyhlOzlfUl0SRj9c
// SIG // hbOaeo6bGIuHGMxeegFdABJphI1fME9pbz1OQYTd8Fd9
// SIG // B6mDyGBI+T91l39JFw/X741H9RgLVxK4ifMOwCzWlRJv
// SIG // UbOHjwNGbGB2gm1OZAVCUA17++oWnznEIHRQgNyN82LX
// SIG // 819rzsMfO7gzmgrsijkWYofXN803/kywuUGC8oVTAZw1
// SIG // xBwzq72sPdg0siKqXYEVqbn86gxctXoFY5KF2YW/vaWf
// SIG // YXlMzV014TqF83sYemMwC+H5QVpvgXNYUMhEnpxLwSc5
// SIG // 1ftubt4e+444DFGOOPll0OLvanXQ3v1OUngGikb74m5o
// SIG // uM+0EaS72bJWtAj4jlBs9NA6ObH5AtBMJbEs3zN/vAPa
// SIG // 7MhVToFg1T87ffDiT9hKGhDqvBhPRgqDdou/+AthQsH3
// SIG // 9QUgkyVmTtVnK9jLXiROlMRlfooQPJzedWDyg9nWBqHs
// SIG // K170cwv9R6FHkr5WX9Jn/RhxLb75GyVUUaOjwX9Jnebf
// SIG // O1W9ZjP3yKdXsqcmsZl5IKXAcLspbDqtpElTiecAT6Gh
// SIG // LLCZHjHCpxLrrvvlCnQx5UtA7bGIzdEJzrnL03UrHb4c
// SIG // yjkoyRd11aq/X9gveOS10+a8SiB1CBAwXDWFOgSgwx+q
// SIG // 36SjjgkopQIDAQABo4IBRjCCAUIwDgYDVR0PAQH/BAQD
// SIG // AgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQe
// SIG // gt8O14yz1wI0gw7aq61lua+47DAZBgkrBgEEAYI3FAIE
// SIG // DB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8G
// SIG // A1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYG
// SIG // A1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9z
// SIG // b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0Nl
// SIG // ckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO
// SIG // MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9z
// SIG // b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIw
// SIG // MTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBDAUAA4ICAQBD
// SIG // X/jfP7vplIw7XPW7aAOdkQXNF1Q0gTEATKsbueoVxwcL
// SIG // nLVFrNVwagwzCBQh7vXOmP1BfkzfBCII57owKSmJhz+H
// SIG // +BDNwEUppc66ReaMzicdAQORVL9Y5qXX/9mW6qbwsZcb
// SIG // /xtUeCo60ppqjx87OooMN2+0U24+wcSEvHziJMGFkIQd
// SIG // ny45YPtx0qwxjxSIaSCVlWpjCEe2u9jhqJ43X+Oa7KcK
// SIG // iB7sp2VOGr8va7gf0YYW8JvnzG/ATHnCGk5pKIcfxGWe
// SIG // RjVnDeqE2FtxtgTNwd2M51pJfbeLIT+tHzLnvtpLHRxl
// SIG // khPBFU3UphlHY9I61HOOpRlRSSEhd/zMXMZ5TXj9Socq
// SIG // /mc0+BLbPyO5rn6Wi5y2pczEdsyLoRjgFlrMHrG47Rc5
// SIG // FVBYA0dklvdNyNFypWzxAOqvHqRxifa6MYfOZ7BCnATV
// SIG // MOEnKevCgqkqRQWiosldbJHfpfFOdFjXjzG/Qc89DnwE
// SIG // mpfL+bEBvg1tNZDfiPkSlCGzOSOdMCY4h8pkBTQ7G6Gx
// SIG // cfSPeZghBD1O31Gd1U/xzlFW5Jl+5bSAv3kALuRjvH7v
// SIG // nHhEzMm726MVDOHWDQvj86KFMX5gtA7ikcAdtW1/fmnL
// SIG // iAZMSJuBHdztfcNVS6AO1DTlLie8+jUNlv/qu3J3zj5d
// SIG // kFS+KpYAm5VE9r5kKZZVdzCCByAwggUIoAMCAQICEzMA
// SIG // AAEibAYzo9FStt0AAAAAASIwDQYJKoZIhvcNAQEMBQAw
// SIG // XzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29m
// SIG // dCBDb3Jwb3JhdGlvbjEwMC4GA1UEAxMnTWljcm9zb2Z0
// SIG // IFdpbmRvd3MgQ29kZSBTaWduaW5nIFBDQSAyMDI0MB4X
// SIG // DTI2MDMwNTE5NTgyNFoXDTI3MDMwMzE5NTgyNFowdDEL
// SIG // MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
// SIG // EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
// SIG // c29mdCBDb3Jwb3JhdGlvbjEeMBwGA1UEAxMVTWljcm9z
// SIG // b2Z0IENvcnBvcmF0aW9uMIICIjANBgkqhkiG9w0BAQEF
// SIG // AAOCAg8AMIICCgKCAgEAnhZbtyCbTJtA3AlBeRCh1Cof
// SIG // y9OmtScr8V9mlWmqcgAccAyDcMZkktDEeTm6r1+EyoWF
// SIG // 9iHO/hzYTY8WYO1CVEzGpkQ3Jp0t0B2DnqKrIL3i9Zhk
// SIG // LLwalkThItrQXvD68Ca2HeLXn5XfNZGkNXJ287lLqLt3
// SIG // 7gBzbnSZwAluUqj5mRxeeuSI+48DHiT8VOSR7DwLP2Nd
// SIG // Wlj8SPOZFRFHnI3zjKSMeaE15zYvVJ8OwUr/0kq135Mg
// SIG // MhcqrvjzfcpiFi5jgD2gJyfkMRkWfQ+4ycuH2StEcTtR
// SIG // pT02o4fcYG8+0g0ngu9M/EaPJoDtyJqwg7+CnSc7U+XZ
// SIG // wonlVyzEsQqlopHys55qAmgKhubJHcpS+QhYvE0FSgEm
// SIG // 9kEdDI0tX6l9BaTpIIm7u/pthD846d+kpIGdU11XwDt4
// SIG // +QY0WU/1V2lktGZPnjZ/P0kH/FPy0UaZ7iV4ZDllQTSB
// SIG // quXsOhLCiEJuQ7Xq+TU0iifIFJaosAymdR7mkxFp9T5o
// SIG // DdGGBfWr/Hw03lWxD0HtOMr+O6PJWKZXRTNAfZFjnJCH
// SIG // NFPoVzQv/qZw1VIdn4zfibTGiyk0znIlzNhdLbdwm3Sj
// SIG // vnAppQs0roTfWnkNphhJ0GN791d1tebmlKWBC02Dk3k8
// SIG // A1ZGCVwmSv8zUV8VN/K0Pi8MSznkVTbxGIdibNJ7l9EC
// SIG // AwEAAaOCAb4wggG6MA4GA1UdDwEB/wQEAwIHgDAfBgNV
// SIG // HSUEGDAWBgorBgEEAYI3PQYBBggrBgEFBQcDAzAMBgNV
// SIG // HRMBAf8EAjAAMB0GA1UdDgQWBBSfMrW3QLbYu4n2imys
// SIG // bT8G75SYkjBUBgNVHREETTBLpEkwRzEtMCsGA1UECxMk
// SIG // TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1p
// SIG // dGVkMRYwFAYDVQQFEw0yMzA4NjUrNTA2OTY1MB8GA1Ud
// SIG // IwQYMBaAFB6C3w7XjLPXAjSDDtqrrWW5r7jsMGoGA1Ud
// SIG // HwRjMGEwX6BdoFuGWWh0dHA6Ly93d3cubWljcm9zb2Z0
// SIG // LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFdpbmRv
// SIG // d3MlMjBDb2RlJTIwU2lnbmluZyUyMFBDQSUyMDIwMjQu
// SIG // Y3JsMHcGCCsGAQUFBwEBBGswaTBnBggrBgEFBQcwAoZb
// SIG // aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j
// SIG // ZXJ0cy9NaWNyb3NvZnQlMjBXaW5kb3dzJTIwQ29kZSUy
// SIG // MFNpZ25pbmclMjBQQ0ElMjAyMDI0LmNydDANBgkqhkiG
// SIG // 9w0BAQwFAAOCAgEAmFhSMo035OTrzq8QPKAEto20uvz9
// SIG // Awyy4qmbMsunWPb34nfj9rmsLsoHqFcJLxqjDtFA1rrq
// SIG // bMvFUP+RcPhl38e5/QH76FYN9Kx5vPN7IlkPfxmmsgod
// SIG // tfZW3mq5Uc4sqk2aM+0obwNt30aCrNyPS5V1ljh9XeQn
// SIG // hbbsl9A+KEQVNaUEvoow0r/OPGYi8Ko4oEO1wWmIjzVU
// SIG // CPMTJJFXiHOgee+a1bMaixea0BTLl2YcFPgVxG1WuLZl
// SIG // QM2PYHj913Tj/i/zsFkFfN2eqaE/0VukDKpDaYH+z3N6
// SIG // Ehihk6a99gMByLrcJlmhGo/GrMg1IxQAcyQRugB/KboE
// SIG // 3+ONK+tbjZcOpg16aXzmVcrh7h/d7jc2iDb7lv2P8hGE
// SIG // g3U78ukp+RsFqxyjQNt1EdfAG7uwdrjng4Yk6uvaHj5i
// SIG // hAD44xzE0Aa2VF/lQcL/r+zCQa/ANLOM4PwGPgPy5jeb
// SIG // 3kKXAI04/R/tpihEKG0U1BygQ1tU9X12EG9SXVkFwyvS
// SIG // J+i8fBGljhMWJLQHHhn88QvTaAo8QVG/G2ukDkFzWqq8
// SIG // 0JQ8xsKsS7IgpTfh+oefKQXxRdjqEmi5YKYodFkX6e7E
// SIG // xnXbKemo2wAF+1UiP1t9qNhuymgyHNY4qJOuAZwUaHsL
// SIG // SpzZtzctLpZieiICGQOQzgMU/bT7RLTYcB5obIcxghsG
// SIG // MIIbAgIBATB2MF8xCzAJBgNVBAYTAlVTMR4wHAYDVQQK
// SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMDAuBgNVBAMT
// SIG // J01pY3Jvc29mdCBXaW5kb3dzIENvZGUgU2lnbmluZyBQ
// SIG // Q0EgMjAyNAITMwAAASJsBjOj0VK23QAAAAABIjANBglg
// SIG // hkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYB
// SIG // BAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGC
// SIG // NwIBFTAvBgkqhkiG9w0BCQQxIgQg/3uQHsonzrrGx5D4
// SIG // zuSD3Sftw63BlaJPg9qf//WC/2QwQgYKKwYBBAGCNwIB
// SIG // DDE0MDKgFIASAE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0
// SIG // dHA6Ly93d3cubWljcm9zb2Z0LmNvbTANBgkqhkiG9w0B
// SIG // AQEFAASCAgAdZoNud8wCx0Jq0GgiqkrhaTmhKMajSDsf
// SIG // uz4+fybF38rHuv7X2hz2JLH+mQD5r/+Mwk6qMCBQqeAx
// SIG // SK+hCpvLWCdf08ASsZfeYHQjluwIdUSHt8jaBvgjvct1
// SIG // EyWJo4lzlH6IuAeVQHiVSLkFdcFx894/zm+7eT1SW8Il
// SIG // SUvHk+Z7V7GekoBV9QztZ9b2sFZt7W1yOQszZHRjHLyL
// SIG // LAOImv/llTTvTqRqD1oRAim5mxul7Lv7pvfeCVzdO68q
// SIG // lr3CzTeRYPUJz3WFQLJwQULCL0bJXgEEKq3ESbfsYQcY
// SIG // 8zt6rk4pDLePN+azat90g9yf+e8XNIykZoG2UBDkcAiJ
// SIG // wnZ3TiaVg0oqSOuLXhkV0eItkK3RoE6t4o3q1egnVjnH
// SIG // Usz5aaWUhww6Z5J7GIJNbgLwt8TXJTyj82Mq6ol0ljqj
// SIG // wVeDN6I123Bktewc24OdIKw7ETj4Cb7ckiQmUD3dp1Fa
// SIG // 3c7cA4hyycdV/EkExwqeK/S3AJImkBW3v2ahNqqjTdEu
// SIG // kZhrVu/2VlXnqUc4FXz/FASnIbrfyPMd4/MGzQ6IrZ1q
// SIG // pCtd2qSsDBSF1IgGl0g9X27Wes6iiJa0TzY8uBhj/xWb
// SIG // uhMNagLZVc/qB7U1HLE9Y2d5G75BTMY8BZKjv7SPrSmH
// SIG // 3Jae8tSBREkjFmVn0Dw7eEEti4RiPm3MPaGCF7Awghes
// SIG // BgorBgEEAYI3AwMBMYIXnDCCF5gGCSqGSIb3DQEHAqCC
// SIG // F4kwgheFAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFaBgsq
// SIG // hkiG9w0BCRABBKCCAUkEggFFMIIBQQIBAQYKKwYBBAGE
// SIG // WQoDATAxMA0GCWCGSAFlAwQCAQUABCBrIMfiKs9jFk2P
// SIG // pMpDxNwspgc9uepL+vD9oHFcjHtW3AIGahCo93y7GBMy
// SIG // MDI2MDYxMDAwMDUxNi41OTZaMASAAgH0oIHZpIHWMIHT
// SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
// SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
// SIG // cm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNy
// SIG // b3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx
// SIG // JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjoyQTFBLTA1
// SIG // RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
// SIG // U3RhbXAgU2VydmljZaCCEf4wggcoMIIFEKADAgECAhMz
// SIG // AAACEKvN5BYY7zmwAAEAAAIQMA0GCSqGSIb3DQEBCwUA
// SIG // MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
// SIG // dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
// SIG // aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTI1
// SIG // MDgxNDE4NDgxMloXDTI2MTExMzE4NDgxMlowgdMxCzAJ
// SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
// SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
// SIG // ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29m
// SIG // dCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEnMCUG
// SIG // A1UECxMeblNoaWVsZCBUU1MgRVNOOjJBMUEtMDVFMC1E
// SIG // OTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
// SIG // cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
// SIG // MIICCgKCAgEAjcc4q057ZwIgpKu4pTXWLejvYEduRf+1
// SIG // mIpbiJEMFWWmU2xpip+zK7xFxKGB1CclUXBU0/ZQZ6LG
// SIG // 8H0gI7yvosrsPEI1DPB/XccGCvswKbAKckngOuGTEPGk
// SIG // 7K/vEZa9h0Xt02b7m2n9MdIjkLrFl0pDriKyz0QHGpdh
// SIG // 93X6+NApfE1TL24Vo0xkeoFGpL3rX9gXhIOF59EMnTd2
// SIG // o45FW/oxMgY9q0y0jGO0HrCLTCZr50e7TZRSNYAy2lyK
// SIG // bvKI2MKlN1wLzJvZbbc//L3s1q3J6KhS0KC2VNEImYdF
// SIG // gVkJej4zZqHfScTbx9hjFgFpVkJl4xH5VJ8tyJdXE9+v
// SIG // U0k9AaT2QP1Zm3WQmXedSoLjjI7LWznuHwnoGIXLiJMQ
// SIG // zPqKqRIFL3wzcrDrZeWgtAdBPbipglZ5CQns6Baj5Mb6
// SIG // a/EZC9G3faJYK5QVHeE6eLoSEwp1dz5WurLXNPsp0VWp
// SIG // lpl/FJb8jrRT/jOoHu85qRcdYpgByU9W7IWPdrthmyfq
// SIG // eAw0omVWN5JxcogYbLo2pANJHlsMdWnxIpN5YwHbGEPC
// SIG // uosBHPk2Xd9+E/pZPQUR6v+D85eEN5A/ZM/xiPpxa8dJ
// SIG // Z87BpTvui7/2uflUMJf2Yc9ZLPgEdhQQo0LwMDSTDT48
// SIG // y3sV7Pdo+g5q+MqnJztN/6qt1cgUTe9u+ykCAwEAAaOC
// SIG // AUkwggFFMB0GA1UdDgQWBBSe42+FrpdF2avbUhlk86BL
// SIG // SH5kejAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtT
// SIG // NRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3
// SIG // Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3Nv
// SIG // ZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5j
// SIG // cmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBo
// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Nl
// SIG // cnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El
// SIG // MjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1Ud
// SIG // JQEB/wQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIH
// SIG // gDANBgkqhkiG9w0BAQsFAAOCAgEAvs4rO3oo8czOrxPq
// SIG // nnSEkUVq718QzlrIiy7/EW7JmQXsJoFxHWUF0Ux0PDyK
// SIG // FDRXPJVv29F7kpJkBJJmcQg5HQV7blUXIMWQ1qX0KdtF
// SIG // QXI/MRL77Z+pK5x1jX+tbRkA7a5Ft7vWuRoAEi02HpFH
// SIG // 5m/Akh/dfsbx8wOpecJbYvuHuy4aG0/tGzOWFCxMMNhG
// SIG // AIJ4qdV87JnY/uMBmiodlm+Gz357XWW5tg3HrtNZXuQ0
// SIG // tWUv26ud4nGKJo/oLZHP75p4Rpt7dMdYKUF9AuVFBwxY
// SIG // ZYpvgk12tfK+/yOwq84/fjXVCdM83Qnawtbenbk/lnbc
// SIG // 9KsZom+GnvA4itAMUpSXFWrcRkqdUQLN+JrG6fPBoV8+
// SIG // D8U2Q2F4XkiCR6EU9JzYKwTuvL6t3nFuxnkLdNjbTg2/
// SIG // yv2j3WaDuCK5lSPgsndIiH6Bku2Ui3A0aUo6D9z9v+XE
// SIG // uBs9ioVJaOjf/z+Urqg7ESnxG0/T1dKci7vLQ2XNgWFY
// SIG // O+/OlDjtGoma1ijX4m14N9qgrXTuWEGwgC7hhBgp3id/
// SIG // LAOf9BSTWA5lBrilsEoexXBrOn/1wM3rjG0hIsxvF5/Y
// SIG // OK78mVRGY6Y7zYJ+uXt4OTOFBwadPv8MklreQZLPnQPt
// SIG // iwop4rlLUYaPCiD4YUqRNbLp8Sgyo9g0iAcZYznTuc+8
// SIG // Q8ZIrgwwggdxMIIFWaADAgECAhMzAAAAFcXna54Cm0mZ
// SIG // AAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQG
// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
// SIG // cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9v
// SIG // dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0y
// SIG // MTA5MzAxODIyMjVaFw0zMDA5MzAxODMyMjVaMHwxCzAJ
// SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
// SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
// SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG
// SIG // 9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL
// SIG // 1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YBf2xK4OK9uT4X
// SIG // YDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY
// SIG // 6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhu
// SIG // je3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7
// SIG // M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN7928
// SIG // jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+
// SIG // tVSP3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCG
// SIG // MFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74kpEeHT39
// SIG // IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+A
// SIG // utuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDy
// SIG // t0cY7afomXw/TNuvXsLz1dhzPUNOwTM5TI4CvEJoLhDq
// SIG // hFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrX
// SIG // Y28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH
// SIG // 29wb0f2y1BzFa/ZcUlFdEtsluq9QBXpsxREdcu+N+VLE
// SIG // hReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3
// SIG // PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQF
// SIG // AgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8
// SIG // RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJl
// SIG // pxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30B
// SIG // ATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jv
// SIG // c29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5o
// SIG // dG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGC
// SIG // NxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8G
// SIG // A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/o
// SIG // olxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZF
// SIG // aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv
// SIG // cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu
// SIG // Y3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+
// SIG // aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0
// SIG // cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwDQYJ
// SIG // KoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5y
// SIG // S/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1
// SIG // OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2YurYeeNg2Lpyp
// SIG // glYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM
// SIG // 9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9Ak
// SIG // vUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6L
// SIG // GYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4FOmR
// SIG // sqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2
// SIG // zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyx
// SIG // TkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPXfx5bRAGO
// SIG // WhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJ
// SIG // Xk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FB
// SIG // SX5+k77L+DvktxW/tM4+pTFRhLy/AsGConsXHRWJjXD+
// SIG // 57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq
// SIG // 8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cir
// SIG // Ooo6CGJ/2XBjU02N7oJtpQUQwXEGahC0HVUzWLOhcGby
// SIG // oYIDWTCCAkECAQEwggEBoYHZpIHWMIHTMQswCQYDVQQG
// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
// SIG // cnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl
// SIG // bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsT
// SIG // Hm5TaGllbGQgVFNTIEVTTjoyQTFBLTA1RTAtRDk0NzEl
// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
// SIG // dmljZaIjCgEBMAcGBSsOAwIaAxUAOsyf2b6riPKnnXlI
// SIG // gIL2f53PUsKggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
// SIG // cCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIFAO3S4N4w
// SIG // IhgPMjAyNjA2MDkxODU4MzhaGA8yMDI2MDYxMDE4NTgz
// SIG // OFowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA7dLg3gIB
// SIG // ADAKAgEAAgIYrwIB/zAHAgEAAgITiDAKAgUA7dQyXgIB
// SIG // ADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMC
// SIG // oAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3
// SIG // DQEBCwUAA4IBAQAyqwqN9PdZlA4h+Dqtf1TdiC2Bp3ik
// SIG // Yn2tUtfrkqVBWVn5t0kMw3zk9DwaIWy7lDqOCq37QJ7h
// SIG // YCfi8+La4ohv/yeQoKSQ8E2wxN3/Hj1P1pI/FsXFlJSl
// SIG // Q3ES+bUC+JR3EosJu73txiyhv74oZDrmiwMNVg7V6EmH
// SIG // ezfZg+Y6nArfwUu+p5yWGx9hDGZX3UvbcU21DWiH0w1t
// SIG // 1Hr+WI2mu1j2bKa3+Taj6bFboWSFEwbLEF/I/CsO3oY+
// SIG // 7bHNUvPsVJ6YBNjIsbqWShnQYg8XS2gbkmrE3bnHNABA
// SIG // ctnNJo5EJqZ8io/4C4Cw4i1NTfYv8ZobZhzWGPXZQNbh
// SIG // lxEEMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMx
// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
// SIG // bXAgUENBIDIwMTACEzMAAAIQq83kFhjvObAAAQAAAhAw
// SIG // DQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzEN
// SIG // BgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgaukr
// SIG // PW0m989smmGM1fZ27/wnxXU9+fo90CJ7igxWk/QwgfoG
// SIG // CyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCDD1SHufsjz
// SIG // Y59S1iHUQY9hnsKSrJPg5a9Mc4YnGmPHxjCBmDCBgKR+
// SIG // MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
// SIG // dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
// SIG // aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAC
// SIG // EKvN5BYY7zmwAAEAAAIQMCIEIH1MAgCiUNvw/aCckFok
// SIG // vc8O+FMQXNWfx302v6OEI0bqMA0GCSqGSIb3DQEBCwUA
// SIG // BIICABOe/LUA5OTVGV6qSt0DUEJGvVMipNyzhsX+tTZf
// SIG // ixqt1v5R6BR1oOhmkRV+sKXb6xD8SD7inte8p8Lv3NYj
// SIG // bo2FSYQ7g7CIALdVbJ6PYWAGlfNoDEFOdv7pd3OTPpSQ
// SIG // Ebb2oTAxEOxJdMYTD25HekFDZC8gt4It69cLFPRKx0SC
// SIG // K60DFiOf/sHxmywrhIFECrL/lX3ezaZOPMeWNaKI6ot0
// SIG // kEVEmibaGp2yw+h+3ojsa82M/l9PXcC24Y8EqGyeWaIg
// SIG // 4WnQgPgZyZ4i/I93YGPnR9946Xcuxa+j/7lTePCm4JpK
// SIG // PKfM9pPyRnbpL5LhldsntATMeqNaAzpzQy9ljvU92XyH
// SIG // 0eITpXzuRjuhvnYVsRGel8jS9e23IQiKGLn8l85WRUlE
// SIG // Bgrs2R6j4usF0sHEPnZLOvlqRX2HnxXyLetzOK0GhzJD
// SIG // w0wEGMBwwQKy6zthWiEwRaTzgUg8TYyrMUSDbidpsN1W
// SIG // 3gmAHbt7ArEeiBWYlWCZTdYluHSXR4lH3Ltzbh3dZxRt
// SIG // FC3oFzMh05GauN6x1oXSjuuvgKcQHx8KKtnKTBox1459
// SIG // iBNFw4gw4hddtBnWsWW3m3eIKrN7FrOplFhXhwyWQ+hK
// SIG // NFTPcAEaipxN3Y0294lUEQc9XnBjwbZWAO7hE6trdY4a
// SIG // DyFEDiRJIc24xSjHJzJU1d+HFUpe
// SIG // End signature block